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.
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/allSettledcapability records with a custom/subclassed constructor + then-iteration ordering. (Realclass X extends Promisesubclass support is the largest remaining piece.)Failure reasons
All 38 failing tests (path — reason)
full list — click to expand
Reproduce
Each path is under
vendor/test262/test/; assemble harness + case pertest-compat/test262/README.mdto run one underperry compile.