Skip to content

test262 built-ins/Promise — 38 fails (all/allSettled capability + then-iteration) #5590

Description

@proggeramlug

Current state — 38 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.

Promise.all/allSettled capability records with a custom/subclassed constructor + then-iteration ordering. (Real class X extends Promise subclass support is the largest remaining piece.)

Failure reasons

n reason
5 TypeError: Bind must be called on a function
4 (no output)
3 TypeError: Promise resolve or reject function is not callable
3 Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValu
3 Uncaught exception: Expected a Test262Error to be thrown but no except
3 Uncaught exception: Expected a TypeError to be thrown but no exception
2 Perry ran clean; Node rejected (missed negative)
2 TypeError: value is not a function
1 Test262:AsyncTestFailure:Test262Error: The promise should be rejected,
1 Uncaught exception: symbol Expected SameValue(«0», «1») to be true
1 Uncaught exception: null Expected a TypeError to be thrown but no exce
1 Uncaught exception: Expected the 'finally' method on a Promise to be '

All 38 failing tests (path — reason)

full list — click to expand
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: Bind must be called on a function
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: Bind must be called on a function
built-ins/Promise/allSettled/iter-arg-is-poisoned.js    Test262:AsyncTestFailure:Test262Error: The promise should be rejected, but was resolved
built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js    TypeError: Bind must be called on a function
built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js    TypeError: Bind must be called on a function
built-ins/Promise/any/iter-arg-is-poisoned.js    Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«AggregateError», 
built-ins/Promise/prototype/catch/this-value-obj-coercible.js    Uncaught exception: symbol Expected SameValue(«0», «1») to be true
built-ins/Promise/prototype/catch/this-value-then-not-callable.js    Uncaught exception: null Expected a TypeError to be thrown but no exception was thrown at 
built-ins/Promise/prototype/finally/is-a-method.js    Uncaught exception: Expected the `finally` method on a Promise to be `Promise.prototype.fi
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(«3», «5») to be tr
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(«3», «5») to be tr
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.prototype.finally called on non-object
built-ins/Promise/prototype/finally/this-value-then-not-callable.js    Uncaught exception: undefined Expected a TypeError to be thrown but no exception was throw
built-ins/Promise/prototype/finally/this-value-then-poisoned.js    Uncaught exception: Expected a Test262Error to be thrown but no exception was thrown at al
built-ins/Promise/prototype/finally/this-value-then-throws.js    Uncaught exception: Expected a Test262Error to be thrown but no exception was thrown at al
built-ins/Promise/prototype/then/S25.4.5.3_A2.1_T1.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all
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 expected to eq
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"») to be true
built-ins/Promise/prototype/then/ctor-access-count.js    Test262:AsyncTestFailure:Test262Error: Expected constructor access count: 1. Actual: 0
built-ins/Promise/prototype/then/ctor-null.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Promise/prototype/then/ctor-poisoned.js    Uncaught exception: Expected a Test262Error to be thrown but no exception was thrown at al
built-ins/Promise/prototype/then/deferred-is-resolved-value.js    Uncaught exception: then() returns object Expected SameValue(«1», «[object Object]») to be
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: Bind must be called on a function
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 true
built-ins/Promise/undefined-newtarget.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all

Reproduce

scripts/test262_subset.py --root vendor/test262 --dir built-ins/Promise --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

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