Skip to content

test262 built-ins/Promise — 29 (self-contained worklist) #5849

Closed

Description

@proggeramlug

Self-contained worklist — 29 failing. Snapshot 2026-07-01 full sweep (perry 0.5.1209, node v26.3.0). Everything you need is in this issue; no history to read, no re-measure to start.

The meaty bit is real class X extends Promise subclass support (super(executor) internal slots + SpeciesConstructor). Crate: perry-runtime (promise).

Setup (any box)

git clone https://github.com/PerryTS/perry && cd perry
cargo build --release -p perry -p perry-runtime-static -p perry-stdlib-static
git clone --depth 1 https://github.com/tc39/test262 vendor/test262   # checkout test-compat/test262/pinned-sha.txt
# node on PATH (differential oracle). See test-compat/test262/README.md.

Measure/verify: scripts/test262_subset.py --root vendor/test262 --dir built-ins/Promise --jobs 8 (the .failures.txt sidecar lists failures; diff before/after for zero-regression).

Failure reasons

n reason
5 TypeError: Constructor Promise requires 'new'
4 (no output)
3 TypeError: Promise resolve or reject function is not ca
3 Test262:AsyncTestFailure:Test262Error: Test262Error: Ex
2 Perry ran clean; Node rejected (missed negative)
2 TypeError: Promise method called on non-callable 'then'
2 TypeError: value is not a function
1 Test262:AsyncTestFailure:Test262Error: The promise shou
1 Test262:AsyncTestFailure:TypeError: value is not a func
1 Test262:AsyncTestFailure:Test262Error: Test262Error: Th
1 Uncaught exception: executor not called at all Expected
1 Test262:AsyncTestFailure:Test262Error: Expected constru

All 29 failing cases (path — reason)

built-ins/Promise/all/ctx-ctor.js    TypeError: Promise resolve or reject function is not callable
built-ins/Promise/all/does-not-invoke-array-setters.js    Perry ran clean; Node rejected (missed negative)
built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-custom.js    TypeError: Constructor Promise requires 'new'
built-ins/Promise/allSettled/ctx-ctor.js    TypeError: Promise resolve or reject function is not callable
built-ins/Promise/allSettled/does-not-invoke-array-setters.js    Perry ran clean; Node rejected (missed negative)
built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-custom.js    TypeError: Constructor Promise requires 'new'
built-ins/Promise/allSettled/iter-arg-is-poisoned.js    Test262:AsyncTestFailure:Test262Error: The promise should be rejected, but was r
built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js    TypeError: Constructor Promise requires 'new'
built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js    TypeError: Constructor Promise requires 'new'
built-ins/Promise/any/iter-arg-is-poisoned.js    Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«Aggrega
built-ins/Promise/prototype/catch/this-value-obj-coercible.js    TypeError: Promise method called on non-callable 'then'
built-ins/Promise/prototype/finally/rejected-observable-then-calls-PromiseResolve.js    (no output)
built-ins/Promise/prototype/finally/rejected-observable-then-calls.js    Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«4», «5»
built-ins/Promise/prototype/finally/resolved-observable-then-calls-PromiseResolve.js    (no output)
built-ins/Promise/prototype/finally/resolved-observable-then-calls.js    Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«4», «5»
built-ins/Promise/prototype/finally/species-constructor.js    TypeError: value is not a function
built-ins/Promise/prototype/finally/subclass-reject-count.js    (no output)
built-ins/Promise/prototype/finally/subclass-resolve-count.js    (no output)
built-ins/Promise/prototype/finally/this-value-proxy.js    TypeError: Promise method called on non-callable 'then'
built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js    Test262:AsyncTestFailure:TypeError: value is not a function
built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js    Test262:AsyncTestFailure:Test262Error: Test262Error: The value of result is expe
built-ins/Promise/prototype/then/capability-executor-called-twice.js    TypeError: value is not a function
built-ins/Promise/prototype/then/capability-executor-not-callable.js    Uncaught exception: executor not called at all Expected SameValue(«""», «"a"») t
built-ins/Promise/prototype/then/ctor-access-count.js    Test262:AsyncTestFailure:Test262Error: Expected constructor access count: 1. Act
built-ins/Promise/prototype/then/deferred-is-resolved-value.js    Uncaught exception: then() returns object Expected SameValue(«1», «[object Objec
built-ins/Promise/race/ctx-ctor.js    TypeError: Promise resolve or reject function is not callable
built-ins/Promise/race/invoke-resolve-on-promises-every-iteration-of-custom.js    TypeError: Constructor Promise requires 'new'
built-ins/Promise/resolve/ctx-ctor.js    TypeError: Promise.resolve called on non-object
built-ins/Promise/resolve/resolve-prms-cstm-then.js    Uncaught exception: Expected SameValue(«undefined», «[object Object]») to be tru

Workflow

Pick a coherent single-root subcluster, localize (cargo run --release -- f.ts --trace hir --focus <fn> / --trace llvm), fix, verify listed cases pass AND re-run the slice for zero regressions. Code-only PR (no Cargo.toml/Cargo.lock version bump, no CLAUDE.md Current-Version, no CHANGELOG — maintainer folds metadata). cargo fmt --all -- --check + bash scripts/check_file_size.sh must pass (files < 2000 lines). Reference this issue. Never reference internal infrastructure hostnames.

Activity

  1. added
    parityCompatibility gap with Node.js, ECMAScript, or the supported ecosystem
    on Jul 1, 2026
  2. added a commit that references this issue on Jul 2, 2026
  3. proggeramlug commented on Jul 3, 2026

    @proggeramlug
    ContributorAuthor

    Refreshed after the 2026-07-03 full sweep (parity 96.3%). Superseded by #5907 — same Promise worklist with current counts, folded-in regressions, and the complete failing-test list inline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    parityCompatibility gap with Node.js, ECMAScript, or the supported ecosystem

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions