Skip to content

test262 annexB B.3.3 global-eval residual — 33 fails (direct + declaration-bearing eval) #5579

Description

@proggeramlug

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

Residual of the #5579 regression. Annex B.3.3 global-eval function-declaration hoisting for direct eval and declaration-bearing bodies (binding is not reinitialized / f should be an own property). The structurally-harder cases need creating a new caller-visible binding from inside the eval-fold IIFE.

Failure reasons

n reason
7 Uncaught exception: Expected a ReferenceError to be thrown but no exce
4 Uncaught exception: indirect eval
3 Uncaught exception: Expected true but got false
3 Uncaught exception: Expected a TypeError to be thrown but no exception
2 Uncaught exception: Expected SameValue(«"undefined"», «"function"») to
2 Uncaught exception: x descriptor value should be 45; x value should be
1 SyntaxError: Identifier 'err' has already been declared
1 Uncaught exception: Expected SameValue(«function () { [native code] }»
1 Uncaught exception: Expected SameValue(«"local"», «"param"») to be tru
1 Uncaught exception: Expected SameValue(«"function"», «"undefined"») to
1 TypeError: Cannot convert undefined or null to object
1 Uncaught exception: binding may be deleted Expected a ReferenceError t

All 33 failing tests (path — reason)

full list — click to expand
annexB/language/eval-code/direct/var-env-lower-lex-catch-non-strict.js    SyntaxError: Identifier 'err' has already been declared
language/eval-code/direct/arrow-fn-body-cntns-arguments-func-decl-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js    Uncaught exception: Expected SameValue(«function () { [native code] }», «"param"») to be t
language/eval-code/direct/arrow-fn-body-cntns-arguments-var-bind-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js    Uncaught exception: Expected SameValue(«"local"», «"param"») to be true
language/eval-code/direct/lex-env-distinct-cls.js    Uncaught exception: Expected SameValue(«"function"», «"undefined"») to be true
language/eval-code/direct/lex-env-no-init-cls.js    Uncaught exception: Expected a ReferenceError to be thrown but no exception was thrown at 
language/eval-code/direct/lex-env-no-init-const.js    Uncaught exception: Expected a ReferenceError to be thrown but no exception was thrown at 
language/eval-code/direct/lex-env-no-init-let.js    Uncaught exception: Expected a ReferenceError to be thrown but no exception was thrown at 
language/eval-code/direct/non-definable-global-function.js    Uncaught exception: Expected true but got false
language/eval-code/direct/non-definable-global-generator.js    Uncaught exception: Expected true but got false
language/eval-code/direct/non-definable-global-var.js    Uncaught exception: Expected true but got false
language/eval-code/direct/super-prop-method.js    TypeError: Cannot convert undefined or null to object
language/eval-code/direct/var-env-func-init-local-new-delete.js    Uncaught exception: binding may be deleted Expected a ReferenceError to be thrown but no e
language/eval-code/direct/var-env-func-non-strict.js    Uncaught exception: Expected SameValue(«"undefined"», «"function"») to be true
language/eval-code/direct/var-env-var-init-global-exstng.js    Uncaught exception: x descriptor value should be 45; x value should be 45; x descriptor sh
language/eval-code/direct/var-env-var-init-local-exstng.js    Uncaught exception: Expected SameValue(«undefined», «44443») to be true
language/eval-code/direct/var-env-var-init-local-new-delete.js    Uncaught exception: Expected a ReferenceError to be thrown but no exception was thrown at 
language/eval-code/indirect/always-non-strict.js    SyntaxError: Function constructor: invalid function body
language/eval-code/indirect/global-env-rec-catch.js    Uncaught exception: indirect eval
language/eval-code/indirect/global-env-rec-eval.js    Uncaught exception: Expected true but got undefined
language/eval-code/indirect/global-env-rec-fun.js    Uncaught exception: indirect eval
language/eval-code/indirect/global-env-rec-with.js    Uncaught exception: indirect eval
language/eval-code/indirect/global-env-rec.js    Uncaught exception: indirect eval
language/eval-code/indirect/lex-env-heritage.js    Uncaught exception: non strict mode Expected SameValue(«"inside"», «"outside"») to be true
language/eval-code/indirect/lex-env-no-init-cls.js    Uncaught exception: Expected a ReferenceError to be thrown but no exception was thrown at 
language/eval-code/indirect/lex-env-no-init-const.js    Uncaught exception: Expected a ReferenceError to be thrown but no exception was thrown at 
language/eval-code/indirect/lex-env-no-init-let.js    Uncaught exception: Expected a ReferenceError to be thrown but no exception was thrown at 
language/eval-code/indirect/non-definable-global-function.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all
language/eval-code/indirect/non-definable-global-generator.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all
language/eval-code/indirect/non-definable-global-var.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all
language/eval-code/indirect/var-env-func-non-strict.js    Uncaught exception: Expected SameValue(«"undefined"», «"function"») to be true
language/eval-code/indirect/var-env-global-lex-non-strict.js    Uncaught exception: Expected SameValue(«undefined», «undefined») to be false
language/eval-code/indirect/var-env-var-init-global-exstng.js    Uncaught exception: x descriptor value should be 45; x value should be 45; x descriptor sh
language/eval-code/indirect/var-env-var-non-strict.js    ReferenceError: x is not defined

Reproduce

scripts/test262_subset.py --root vendor/test262 --dir annexB language/eval-code --jobs 6

Each path is under vendor/test262/test/; assemble harness + case per test-compat/test262/README.md to run one under perry compile.

Activity

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

    bugConfirmed defect or regressionparityCompatibility 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