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.
Reactions are currently unavailable
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…