Repository navigation
test262 built-ins/Temporal — 61 fails (range/precision validation + missed-negatives) #5587
Copy link
Copy link
Closed
Labels
parityCompatibility gap with Node.js, ECMAScript, or the supported ecosystemCompatibility gap with Node.js, ECMAScript, or the supported ecosystem
Description
Current state — 61 failing. Snapshot from the 2026-06-29 full sweep (perry 0.5.1208, node v26.3.0). Supersedes the original body; the complete current failing-test list is inline below — no re-run needed to start.
Scored Perry-only (Node v26 has no Temporal). Remaining are range/precision validation + missed RangeError/TypeError negatives (the subclassing-ignored cluster is fixed).
Failure reasons
| n | reason |
|---|---|
| 35 | Uncaught exception: Expected SameValue(«0», «1») to be true |
| 6 | Uncaught exception: Duration.p.toString() should not use more precise |
| 4 | Uncaught exception: P1M weeks..months ceil: weeks result: Expected Sam |
| 3 | Uncaught exception: toString() should not use more precise internal re |
| 3 | Uncaught exception: P7D days..weeks ceil: days result: Expected SameVa |
| 2 | Uncaught exception: check expected value (µs) Expected SameValue(«8.69 |
| 2 | Uncaught exception: P1Y months..years ceil: months result: Expected Sa |
| 1 | Uncaught exception: P31D weeks..months ceil: weeks result: Expected Sa |
| 1 | Uncaught exception: [object] (bits=0x7FFD038525626688) |
| 1 | Uncaught exception: [object] (bits=0x7FFD04B262A26768) |
| 1 | Uncaught exception: [object] (bits=0x7FFD025F46E26660) |
| 1 | Uncaught exception: [object] (bits=0x7FFD058DB9E26668) |
All 61 failing tests (path — reason)
full list — click to expand
built-ins/Temporal/Duration/prototype/abs/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/Duration/prototype/add/float64-representable-integer.js Uncaught exception: toString() should not use more precise internal representation than th
built-ins/Temporal/Duration/prototype/add/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/Duration/prototype/negated/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/Duration/prototype/round/exact-multiple-of-larger-unit-plaindate.js Uncaught exception: P31D weeks..months ceil: weeks result: Expected SameValue(«1», «0») to
built-ins/Temporal/Duration/prototype/round/exact-multiple-of-larger-unit-zoned.js Uncaught exception: P7D days..weeks ceil: days result: Expected SameValue(«1», «0») to be
built-ins/Temporal/Duration/prototype/round/float64-representable-integer.js Uncaught exception: toString() should not use more precise internal representation than th
built-ins/Temporal/Duration/prototype/round/precision-exact-in-balance-time-duration.js Uncaught exception: check expected value (µs) Expected SameValue(«8.69228866946552e+21», «
built-ins/Temporal/Duration/prototype/round/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/Duration/prototype/subtract/float64-representable-integer.js Uncaught exception: toString() should not use more precise internal representation than th
built-ins/Temporal/Duration/prototype/subtract/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/Duration/prototype/total/precision-exact-mathematical-values-5.js Uncaught exception: check expected value (µs) Expected SameValue(«8.69228866946552e+21», «
built-ins/Temporal/Duration/prototype/with/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/Instant/prototype/add/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/Instant/prototype/round/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/Instant/prototype/since/float64-representable-integer.js Uncaught exception: Duration.p.toString() should not use more precise internal representat
built-ins/Temporal/Instant/prototype/subtract/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/Instant/prototype/until/float64-representable-integer.js Uncaught exception: Duration.p.toString() should not use more precise internal representat
built-ins/Temporal/PlainDate/compare/use-internal-slots.js Uncaught exception: [object] (bits=0x7FFD038525626688)
built-ins/Temporal/PlainDate/prototype/add/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainDate/prototype/since/exact-multiple-of-larger-unit.js Uncaught exception: P1M weeks..months ceil: weeks result: Expected SameValue(«1», «0») to
built-ins/Temporal/PlainDate/prototype/subtract/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainDate/prototype/until/exact-multiple-of-larger-unit.js Uncaught exception: P1M weeks..months ceil: weeks result: Expected SameValue(«1», «0») to
built-ins/Temporal/PlainDate/prototype/with/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainDate/prototype/withCalendar/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainDateTime/compare/use-internal-slots.js Uncaught exception: [object] (bits=0x7FFD04B262A26768)
built-ins/Temporal/PlainDateTime/prototype/add/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainDateTime/prototype/round/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainDateTime/prototype/since/exact-multiple-of-larger-unit.js Uncaught exception: P1M weeks..months ceil: weeks result: Expected SameValue(«1», «0») to
built-ins/Temporal/PlainDateTime/prototype/since/float64-representable-integer.js Uncaught exception: Duration.p.toString() should not use more precise internal representat
built-ins/Temporal/PlainDateTime/prototype/subtract/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainDateTime/prototype/until/exact-multiple-of-larger-unit.js Uncaught exception: P1M weeks..months ceil: weeks result: Expected SameValue(«1», «0») to
built-ins/Temporal/PlainDateTime/prototype/until/float64-representable-integer.js Uncaught exception: Duration.p.toString() should not use more precise internal representat
built-ins/Temporal/PlainDateTime/prototype/with/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainDateTime/prototype/withCalendar/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainDateTime/prototype/withPlainTime/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainMonthDay/prototype/with/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainTime/compare/use-internal-slots.js Uncaught exception: [object] (bits=0x7FFD025F46E26660)
built-ins/Temporal/PlainTime/prototype/add/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainTime/prototype/round/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainTime/prototype/subtract/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainTime/prototype/with/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainYearMonth/compare/use-internal-slots.js Uncaught exception: [object] (bits=0x7FFD058DB9E26668)
built-ins/Temporal/PlainYearMonth/prototype/add/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainYearMonth/prototype/equals/use-internal-slots.js Uncaught exception: [object] (bits=0x7FFD0416D02267A8)
built-ins/Temporal/PlainYearMonth/prototype/since/exact-multiple-of-larger-unit.js Uncaught exception: P1Y months..years ceil: months result: Expected SameValue(«2», «0») to
built-ins/Temporal/PlainYearMonth/prototype/subtract/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/PlainYearMonth/prototype/until/exact-multiple-of-larger-unit.js Uncaught exception: P1Y months..years ceil: months result: Expected SameValue(«2», «0») to
built-ins/Temporal/PlainYearMonth/prototype/with/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/ZonedDateTime/prototype/add/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/ZonedDateTime/prototype/round/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/ZonedDateTime/prototype/since/exact-multiple-of-larger-unit.js Uncaught exception: P7D days..weeks ceil: days result: Expected SameValue(«1», «0») to be
built-ins/Temporal/ZonedDateTime/prototype/since/float64-representable-integer.js Uncaught exception: Duration.p.toString() should not use more precise internal representat
built-ins/Temporal/ZonedDateTime/prototype/startOfDay/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/ZonedDateTime/prototype/subtract/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/ZonedDateTime/prototype/until/exact-multiple-of-larger-unit.js Uncaught exception: P7D days..weeks ceil: days result: Expected SameValue(«1», «0») to be
built-ins/Temporal/ZonedDateTime/prototype/until/float64-representable-integer.js Uncaught exception: Duration.p.toString() should not use more precise internal representat
built-ins/Temporal/ZonedDateTime/prototype/with/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/ZonedDateTime/prototype/withCalendar/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/subclassing-ignored.js Uncaught exception: Expected SameValue(«0», «1») to be true
Reproduce
scripts/test262_subset.py --root vendor/test262 --dir built-ins/Temporal --jobs 6
Each path is under vendor/test262/test/; assemble harness + case per test-compat/test262/README.md to run one under perry compile.
Metadata
Metadata
Assignees
Labels
parityCompatibility gap with Node.js, ECMAScript, or the supported ecosystemCompatibility gap with Node.js, ECMAScript, or the supported ecosystem
Activity
fix+style: #5587 — address CodeRabbit review (aliased/raw-I64 receive…
fix(runtime): #5587 — subclassing a Temporal.<Type> gives the instanc…
proggeramlug commentedon Jun 26, 2026
Re-measure 2026-06-26 (main @ c56e566): #5672 (subclassing a Temporal type carries the Temporal brand) landed — built-ins/Temporal 105 → 86, and the dominant
value is not a functioncluster (subclassing-ignored) is fully cleared (36 → 0). Remaining 86 are range/precision validation + missed-negatives.[-]test262 built-ins/Temporal (106, self-validate) — subclassing-ignored `value is not a function` + epoch-ns/range validation[/-][+]test262 built-ins/Temporal — 86 fails (range/precision validation + missed-negatives)[/+]fix(temporal): #5587 — validate ZonedDateTime.from options + getTimeZ…
[-]test262 built-ins/Temporal — 86 fails (range/precision validation + missed-negatives)[/-][+]test262 built-ins/Temporal — 74 fails (range/precision validation + missed-negatives)[/+]fix(temporal): enforce require_construct, fix timezone-arg validation…
[-]test262 built-ins/Temporal — 74 fails (range/precision validation + missed-negatives)[/-][+]test262 built-ins/Temporal — 61 fails (range/precision validation + missed-negatives)[/+]fix(temporal): use internal slots in subclass coercions + write-back …
fix+test: address CodeRabbit review on #5587 PR
fix(codegen+hir+runtime): #5587 — Temporal subclass dispatch, cap wri…
proggeramlug commentedon Jul 1, 2026
Superseded by self-contained per-area worklist tickets — each has the complete current failing-test list inline (2026-07-01 sweep), so an agent can open one and work immediately (no history, no re-measure):
#5832 language/class · #5833 language-misc · #5834 built-ins-misc · #5835 intl-small · #5836 RegExp · #5837 NumberFormat · #5838 Array · #5839 Temporal · #5840 DateTimeFormat · #5841 eval-code · #5842 Object · #5843 String · #5844 Proxy · #5845 intl402-misc · #5846 Function · #5847 JSON · #5848 annexB-misc · #5849 Promise.
fix(hir): cap-field stashes must also run right after super(), not on…
fix(#5437): Next.js 16 app-router SSR — boot + statics/API (5/8 route…