utils/testsuite/testsuite_skiplist.py (1,727 lines of code) (raw):

# Copyright (c) Meta Platforms, Inc. and affiliates. # # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. # flake8: noqa from __future__ import absolute_import, division, print_function, unicode_literals import collections import re # The skiplist is ordered by decreasing severity. SKIP_LIST = [ # Fails due to a bug in Hermes Function.apply(): T28044390. "CVEs/CVE-2016-7194.js", # These require constructing prohibitively large arrays. "CVEs/CVE-2017-2521.js", "CVEs/CVE-2017-2464.js", "CVEs/CVE-2017-2536.js", "CVEs/CVE-2018-0758.js", "CVEs/CVE-2013-6632.js", # Uses "with". "CVEs/CVE-2016-1665.js", # Unicode identifiers. "test262/test/language/identifiers/vals-rus-alpha-lower-via-escape-hex4.js", "test262/test/language/identifiers/vals-rus-alpha-upper-via-escape-hex4.js", "test262/test/language/white-space/mongolian-vowel-separator.js", "test262/test/language/literals/regexp/mongolian-vowel-separator.js", "test262/test/language/literals/string/mongolian-vowel-separator.js", "esprima/test_fixtures/ES6/identifier/estimated.js", "esprima/test_fixtures/ES6/identifier/weierstrass.js", "esprima/test_fixtures/ES6/identifier/invalid_function_await.module.js", "esprima/test_fixtures/ES6/identifier/dakuten_handakuten.js", "esprima/test_fixtures/ES6/identifier/weierstrass_weierstrass.js", "esprima/test_fixtures/ES6/identifier/ethiopic_digits.js", "esprima/test_fixtures/ES6/identifier/module_await.js", # R-value assignment detected at compile time. "mjsunit/serialize-embedded-error.js", "mjsunit/regress/regress-crbug-412208.js", "mjsunit/regress/regress-436893.js", # Tests relying on es6 features. "mjsunit/harmony/for-in.js", "mjsunit/regress/regress-319120.js", "mjsunit/regress/regress-deopt-in-array-literal-spread.js", "mjsunit/regress/regress-crbug-621816.js", "mjsunit/computed-property-names-deopt.js", "test262/test/language/expressions/object/computed-property-evaluation-order.js", "test262/test/language/module-code/eval-export-dflt-expr-err-eval.js", "test262/test/language/module-code/eval-export-dflt-expr-err-get-value.js", # Defines __proto__ multiple times in literal and expects it to throw. "object-literal-multiple-proto-fields.js", # mjsunit # Function instance .arguments, .caller, etc. (e.g. foo.arguments). "mjsunit/arguments-indirect.js", "mjsunit/compiler/escape-analysis-arguments.js", "mjsunit/compiler/optimized-closures.js", "mjsunit/compiler/regress-funarguments.js", "mjsunit/extra-arguments.js", "mjsunit/function-arguments-null.js", "mjsunit/regress/regress-105.js", "mjsunit/regress/regress-347262.js", "mjsunit/regress/regress-3985.js", "mjsunit/regress/regress-crbug-601617.js", "test262/test/language/statements/function/13.2-30-s.js", "test262/test/language/statements/generators/restricted-properties.js", "test262/test/built-ins/GeneratorFunction/instance-restricted-properties.js", # Expects that Object.prototype.__defineGetter__() doesn't throw on error. "mjsunit/regress/regress-1240.js", # test262 tests relying on regexp changes in es6 "test262/test/built-ins/RegExp/prototype/Symbol.split/last-index-exceeds-str-size.js", # Uses ES6 classes or arrow functions. "mjsunit/harmony/regexp-change-exec.js", "mjsunit/regexp-lastIndex.js", # Uses ES6 Unicode regular expressions. # This is an interesting test that we should enable when Unicode support lands. "mjsunit/regexp.js", # Attempt to parse Date format not required by the standard. "mjsunit/regress/regress-396.js", # Uses the V8 debugger. "mjsunit/compiler/debug-catch-prediction.js", "mjsunit/debug-", "mjsunit/deserialize-script-id.js", "mjsunit/es6/debug-", "mjsunit/es6/mirror-iterators.js", "mjsunit/function-source.js", # Update of arguments in non-strict mode. "mjsunit/regress/regress-arguments-slice.js", "mjsunit/regress/regress-392.js", "mjsunit/arguments-escape.js", "mjsunit/argument-named-arguments.js", "mjsunit/regress/regress-2989.js", "mjsunit/regress/regress-crbug-157520.js", "test262/test/language/arguments-object/10.6-6-4.js", "test262/test/language/arguments-object/10.6-10-c-ii-1.js", "test262/test/language/arguments-object/S10.1.6_A1_T3.js", "test262/test/language/arguments-object/10.6-6-3.js", "test262/test/language/arguments-object/10.6-10-c-ii-2.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-4.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-2.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-5.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-2.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-3.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-4.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-2.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-3.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-4.js", "test262/test/language/arguments-object/mapped/mapped-arguments-nonconfigurable-3.js", "test262/test/language/arguments-object/mapped/nonconfigurable-descriptors-define-failure.js", "test262/test/language/arguments-object/mapped/writable-enumerable-configurable-descriptor.js", "test262/test/language/expressions/generators/arguments-with-arguments-lex.js", # TODO(T90539269) ident `arguments` referenced on global "test262/test/language/expressions/assignmenttargettype/simple-basic-identifierreference-arguments.js", "test262/test/built-ins/Object/defineProperty/15.2.3.6-4-293-2.js", "test262/test/built-ins/Object/defineProperty/15.2.3.6-4-294-1.js", "test262/test/built-ins/Object/defineProperty/15.2.3.6-4-293-3.js", "test262/test/built-ins/Object/defineProperty/15.2.3.6-4-292-1.js", "test262/test/built-ins/Object/defineProperty/15.2.3.6-4-295-1.js", "test262/test/built-ins/Object/defineProperty/15.2.3.6-4-296-1.js", "test262/test/language/expressions/delete/11.4.1-4.a-16.js", "test262/test/language/expressions/postfix-decrement/arguments-nostrict.js", "test262/test/language/expressions/postfix-increment/arguments-nostrict.js", "test262/test/language/expressions/prefix-decrement/arguments-nostrict.js", "test262/test/language/expressions/prefix-increment/arguments-nostrict.js", "test262/test/language/statements/function/S13_A11_T1.js", "test262/test/language/statements/function/S13_A15_T4.js", "test262/test/language/statements/function/S13_A15_T5.js", "test262/test/language/expressions/yield/formal-parameters-after-reassignment-non-strict.js", "test262/test/language/arguments-object/non-strict-arguments-object-is-immutable.js", "test262/test/built-ins/ThrowTypeError/extensible.js", # arguments.caller, arguments.callee must throw # These tests pass in HBC but fail with JSC "test262/test/language/arguments-object/10.6-13-b-1-s.js", "test262/test/language/arguments-object/arguments-caller.js", # Update arguments inside an indirect eval. "test262/test/language/statements/variable/12.2.1-21-s.js", "test262/test/language/statements/variable/12.2.1-17-s.js", # These tests should all fail to compile. jsc-cli behaves correctly, # but the hermes compiler does not fail to compile. So, we don't # try running them. "test262/test/language/statements/try/12.14.1-1gs.js", "test262/test/language/statements/function/13.1-8gs.js", "test262/test/language/statements/function/13.1-5gs.js", "test262/test/language/expressions/delete/11.4.1-5-a-5gs.js", "test262/test/language/identifiers/val-this-via-escape-hex4.js", "test262/test/language/literals/string/S7.8.4_A4.3_T2.js", "test262/test/language/literals/string/S7.8.4_A4.3_T1.js", "test262/test/language/literals/string/7.8.4-1gs.js", "test262/test/language/literals/regexp/early-err-dup-flag.js", "test262/test/language/literals/regexp/early-err-bad-flag.js", "test262/test/language/literals/regexp/early-err-pattern.js", "test262/test/annexB/language/statements/for-in/strict-initializer.js", "test262/test/language/statements/try/early-catch-var.js", # skipped due to use of unsupported async arrow and async generators "test262/test/built-ins/GeneratorFunction/is-a-constructor.js", "test262/test/built-ins/Object/seal/seal-asyncarrowfunction.js", "test262/test/built-ins/Object/seal/seal-asyncgeneratorfunction.js", "test262/test/built-ins/AsyncFunction/is-a-constructor.js", "test262/test/built-ins/AsyncArrowFunction/is-a-constructor.js", "test262/test/language/statements/for/head-init-async-of.js", "test262/test/language/statements/switch/scope-lex-async-generator.js", "test262/test/language/expressions/object/__proto__-permitted-dup.js", # TODO(T90539602) switch default create its own scope "test262/test/language/statements/switch/scope-lex-class.js", "test262/test/language/statements/switch/scope-lex-generator.js", "test262/test/language/statements/switch/scope-lex-async-function.js", # TODO(T90540113) reassignment to function name in function body "test262/test/language/expressions/function/named-strict-error-reassign-fn-name-in-body.js", "test262/test/language/expressions/function/named-strict-error-reassign-fn-name-in-body-in-arrow.js", "test262/test/language/expressions/generators/named-strict-error-reassign-fn-name-in-body.js", "test262/test/language/expressions/generators/named-strict-error-reassign-fn-name-in-body-in-arrow.js", "test262/test/language/expressions/function/named-no-strict-reassign-fn-name-in-body.js", "test262/test/language/expressions/function/named-no-strict-reassign-fn-name-in-body-in-arrow.js", "test262/test/language/expressions/generators/named-no-strict-reassign-fn-name-in-body.js", "test262/test/language/expressions/generators/named-no-strict-reassign-fn-name-in-body-in-arrow.js", # global undefined "test262/test/language/identifier-resolution/assign-to-global-undefined.js", # Unsupported test262 features "test262/test/language/statements/do-while/let-array-with-newline.js", "test262/test/language/statements/for-await-of/let-array-with-newline.js", "test262/test/language/statements/for-in/let-array-with-newline.js", "test262/test/language/statements/for-of/let-array-with-newline.js", "test262/test/language/statements/for/let-array-with-newline.js", "test262/test/language/statements/if/let-array-with-newline.js", "test262/test/language/statements/labeled/let-array-with-newline.js", "test262/test/language/statements/while/let-array-with-newline.js", "test262/test/language/statements/with/let-array-with-newline.js", "test262/test/language/statements/for-await-of/let-block-with-newline.js", "test262/test/language/statements/for-in/let-block-with-newline.js", "test262/test/language/statements/for-of/let-block-with-newline.js", "test262/test/language/statements/for/let-block-with-newline.js", "test262/test/language/statements/if/let-block-with-newline.js", "test262/test/language/statements/labeled/let-block-with-newline.js", "test262/test/language/statements/while/let-block-with-newline.js", "test262/test/language/statements/with/let-block-with-newline.js", "test262/test/language/statements/for-await-of/let-identifier-with-newline.js", "test262/test/language/statements/for-in/let-identifier-with-newline.js", "test262/test/language/statements/for-of/let-identifier-with-newline.js", "test262/test/language/statements/for/let-identifier-with-newline.js", "test262/test/language/statements/if/let-identifier-with-newline.js", "test262/test/language/statements/labeled/let-identifier-with-newline.js", "test262/test/language/statements/while/let-identifier-with-newline.js", "test262/test/language/statements/with/let-identifier-with-newline.js", "test262/test/built-ins/Function/prototype/toString/", "test262/test/built-ins/Promise/", "test262/test/language/block-scope/", "test262/test/language/computed-property-names/", "test262/test/language/destructuring/", "test262/test/language/expressions/arrow-function/", "test262/test/language/expressions/assignment/destructuring/", "test262/test/language/expressions/async-arrow-function/", "test262/test/language/expressions/async-generator/", "test262/test/language/expressions/await/", "test262/test/language/expressions/class/", "test262/test/language/expressions/dynamic-import/", "test262/test/language/expressions/import.meta/", "test262/test/language/expressions/new.target/", "test262/test/language/expressions/object/method-definition/", "test262/test/language/expressions/super/", "test262/test/language/module-code/", "test262/test/language/rest-parameters/", "test262/test/language/statements/async-generator/", "test262/test/language/statements/class/", "test262/test/language/statements/let/", # Unsupported mjsunit features "mjsunit/arguments.js", "mjsunit/es6/array-copywithin.js", "mjsunit/es6/array-from.js", "mjsunit/es6/instanceof-proxies.js", "mjsunit/es6/math-cbrt.js", "mjsunit/es6/math-expm1.js", "mjsunit/es6/math-log1p.js", "mjsunit/es6/numeric-literals.js", "mjsunit/es6/object-literals-property-shorthand.js", "mjsunit/es6/promise-", "mjsunit/es6/string-raw.js", "mjsunit/es6/string-startwith.js", "mjsunit/es6/tail-call-", # These tests test for incorrect behavior of detached ArrayBuffer that v8 # supports. "mjsunit/es6/typedarray-every.js", "mjsunit/es6/typedarray-foreach.js", "mjsunit/es7/array-includes-receiver.js", "mjsunit/es7/exponentiation-operator.js", "mjsunit/es8/syntactic-tail-call-simple.js", "mjsunit/es8/syntactic-tail-call.js", "mjsunit/harmony/atomics.js", "mjsunit/regress/regress-wasm-", "mjsunit/tools/", # Use of V8 intrinsics that Hermes doesn't have. "mjsunit/es6/math-log2-log10.js", "mjsunit/es6/reflect-prevent-extensions.js", "mjsunit/smi-mul.js", "mjsunit/array-construct-transition.js", "mjsunit/array-literal-feedback.js", "mjsunit/array-literal-transitions.js", "mjsunit/array-shift4.js", "mjsunit/assert-opt-and-deopt.js", "mjsunit/call-intrinsic-type-error.js", "mjsunit/compare-known-objects-slow.js", "mjsunit/constant-fold-control-instructions.js", "mjsunit/count-based-osr.js", "mjsunit/deopt-with-fp-regs.js", "mjsunit/fast-array-length.js", "mjsunit/fast-non-keyed.js", "mjsunit/fast-prototype.js", "mjsunit/generated-transition-stub.js", "mjsunit/getters-on-elements.js", "mjsunit/math-min-max.js", "mjsunit/migrations.js", # Template strings "mjsunit/d8-worker-spawn-worker.js", "mjsunit/d8-worker-sharedarraybuffer.js", "mjsunit/d8-worker.js", # Sparse arrays "mjsunit/array-join.js", "mjsunit/sparse-array-reverse.js", # Overly large typed array (uses v8 flag --mock-arraybuffer-allocator) "mjsunit/regress/regress-crbug-380671.js", # for-of "mjsunit/compiler/optimize_max.js", "mjsunit/compiler/optimize_min.js", "mjsunit/es6/typedarray-from.js", "mjsunit/es6/typedarray-of.js", "mjsunit/es6/typedarray-reduce.js", "mjsunit/es6/typedarray-tostring.js", "mjsunit/es6/typedarray-species.js", "mjsunit/es6/typedarray-sort.js", # Symbol "mjsunit/es6/array-species-neg-zero.js", "mjsunit/es6/collections.js", "mjsunit/es6/instanceof.js", "mjsunit/es6/iterator-prototype.js", "mjsunit/es6/object-tostring.js", "mjsunit/es6/pattern-brand-check.js", "mjsunit/es6/prototype-ordinary-objects.js", "mjsunit/es6/regexp-constructor.js", "mjsunit/es6/species.js", "mjsunit/primitive-keyed-access.js", # Array.prototype.includes "mjsunit/es7/array-includes.js", # Promise "mjsunit/es6/microtask-delivery.js", "test262/test/built-ins/Object/prototype/toString/symbol-tag-non-str-builtin.js", "mjsunit/es6/reflect-get-prototype-of.js", # Should early error "test262/test/language/statements/for-in/decl-fun.js", "test262/test/language/statements/for/decl-fun.js", "test262/test/language/statements/while/decl-fun.js", # async "mjsunit/es6/function-length-configurable.js", "mjsunit/es6/generators-debug-liveedit.js", "mjsunit/es6/generators-objects.js", "mjsunit/es6/generators-parsing.js", "mjsunit/es6/generators-poisoned-properties.js", "mjsunit/es6/generators-relocation.js", "mjsunit/es6/generators-runtime.js", "mjsunit/es6/generators-states.js", "mjsunit/es6/iteration-semantics.js", "mjsunit/harmony/async-debug-caught-exception-cases0.js", "mjsunit/harmony/async-debug-caught-exception-cases1.js", "mjsunit/harmony/async-debug-caught-exception-cases2.js", "mjsunit/harmony/async-debug-caught-exception-cases3.js", # async function missing errors: TODO(T80014951) "test262/test/language/statements/async-function/escaped-async.js", "test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js", "test262/test/language/expressions/async-function/escaped-async.js", "test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js", # async with escape is a valid loop variable: TODO(T80014951) "test262/test/language/statements/for-of/head-lhs-async-escaped.js", # let/const (block scope) "esprima/test_fixtures/declaration/let/", "esprima/test_fixtures/declaration/const/", "esprima/test_fixtures/statement/iteration/for-let-let.js", "esprima/test_fixtures/statement/iteration/const_forin.js", "esprima/test_fixtures/statement/iteration/migrated_0012.js", "esprima/test_fixtures/statement/iteration/migrated_0020.js", "mjsunit/compiler/osr-block-scope-id.js", "mjsunit/es6/debug-blockscopes.js", "mjsunit/es6/regexp-tolength.js", "mjsunit/es6/regexp-tostring.js", "mjsunit/es6/regress/regress-3426.js", "test262/test/language/global-code/script-decl-lex-restricted-global.js", "test262/test/language/statements/continue/shadowing-loop-variable-in-same-scope-as-continue.js", "test262/test/language/global-code/decl-lex-restricted-global.js", "test262/test/language/expressions/equals/to-prim-hint.js", "test262/test/language/statements/for-in/head-let-bound-names-dup.js", "test262/test/language/statements/for-in/head-let-bound-names-fordecl-tdz.js", "test262/test/language/statements/for-in/head-let-destructuring.js", "test262/test/language/statements/for-in/head-let-fresh-binding-per-iteration.js", "test262/test/language/statements/for/head-let-destructuring.js", "test262/test/language/statements/for-of/head-let-", "test262/test/language/statements/try/early-catch-function.js", "test262/test/language/statements/try/optional-catch-binding-lexical.js", "test262/test/language/statements/switch/syntax/redeclaration/", "test262/test/language/global-code/block-decl-strict.js", "test262/test/language/function-code/block-decl-strict.js", "test262/test/language/function-code/block-decl-onlystrict.js", "test262/test/language/expressions/generators/arguments-with-arguments-fn.js", "test262/test/language/expressions/generators/scope-name-var-open-non-strict.js", "test262/test/language/expressions/object/scope-gen-meth-paramsbody-var-open.js", "test262/test/language/statements/generators/arguments-with-arguments-fn.js", "test262/test/language/statements/generators/arguments-with-arguments-lex.js", "test262/test/language/statements/generators/scope-name-var-open-non-strict.js", "test262/test/language/statements/generators/scope-paramsbody-var-open.js", # let/const temporarily disabled "test262/test/language/future-reserved-words/let-strict.js", "test262/test/language/statements/for-in/head-let-bound-names-in-stmt.js", "test262/test/language/statements/for-in/head-lhs-let.js", "test262/test/language/statements/for-in/labelled-fn-stmt-let.js", "test262/test/language/statements/for-in/head-let-bound-names-let.js", "test262/test/language/statements/for-in/identifier-let-allowed-as-lefthandside-expression-not-strict.js", "test262/test/language/statements/for/head-let-bound-names-in-stmt.js", "test262/test/language/statements/for/head-lhs-let.js", "test262/test/language/statements/for/labelled-fn-stmt-let.js", "test262/test/harness/assert-throws-early-syntaxerror.js", "test262/test/language/global-code/script-decl-lex-var.js", # Labels "test262/test/language/statements/if/labelled-fn-stmt-second.js", "test262/test/language/statements/for-in/labelled-fn-stmt-lhs.js", "test262/test/language/statements/for-in/labelled-fn-stmt-var.js", "test262/test/language/statements/for/labelled-fn-stmt-expr.js", "test262/test/language/statements/for/labelled-fn-stmt-var.js", "test262/test/language/statements/if/labelled-fn-stmt-lone.js", "test262/test/language/statements/while/labelled-fn-stmt.js", # destructuring "mjsunit/es6/destructuring-parameters-literalcount-nolazy.js", "mjsunit/es6/destructuring-parameters-literalcount.js", # computed property names "esprima/test_fixtures/expression/primary/object/migrated_0034.js", "esprima/test_fixtures/expression/primary/object/migrated_0035.js", "esprima/test_fixtures/expression/primary/object/migrated_0036.js", "mjsunit/es6/computed-property-names.js", "test262/test/harness/verifyProperty-restore-accessor-symbol.js", "test262/test/language/expressions/object/fn-name-accessor-get.js", "test262/test/language/expressions/object/fn-name-accessor-set.js", "test262/test/language/expressions/object/fn-name-arrow.js", "test262/test/language/expressions/object/fn-name-cover.js", "test262/test/language/expressions/object/fn-name-fn.js", # Proxy # T68982208 Remove the following two tests from blacklist in the next update. # These two tests don't support creation using revoked proxy. "test262/test/built-ins/Proxy/create-handler-is-revoked-proxy.js", "test262/test/built-ins/Proxy/create-target-is-revoked-proxy.js", "mjsunit/array-isarray.js", "mjsunit/es6/classof-proxy.js", "test262/test/language/statements/for-of/iterator-next-result-type.js", "test262/test/annexB/built-ins/Object/prototype/__proto__/set-cycle-shadowed.js", # Missing/undefined Proxy traps "test262/test/built-ins/Proxy/defineProperty/trap-is-missing-target-is-proxy.js", "test262/test/built-ins/Proxy/defineProperty/trap-is-undefined-target-is-proxy.js", "test262/test/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-undefined-target-is-proxy.js", "test262/test/built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls-index.js", "test262/test/built-ins/Proxy/set/trap-is-missing-receiver-multiple-calls.js", # These test proxy validations which don't exist in the ES10 spec or # or any spec I can find. "test262/test/built-ins/Proxy/getOwnPropertyDescriptor/resultdesc-is-not-configurable-not-writable-targetdesc-is-writable.js", "test262/test/built-ins/Proxy/deleteProperty/targetdesc-is-configurable-target-is-not-extensible.js", "test262/test/built-ins/Proxy/defineProperty/targetdesc-not-configurable-writable-desc-not-writable.js", # Use of "constructor" property "test262/test/built-ins/Array/prototype/concat/create-ctor-poisoned.js", "test262/test/built-ins/Array/prototype/filter/create-ctor-poisoned.js", "test262/test/built-ins/Array/prototype/map/create-ctor-poisoned.js", "test262/test/built-ins/Array/prototype/slice/create-ctor-poisoned.js", "test262/test/built-ins/Array/prototype/splice/create-ctor-poisoned.js", "test262/test/built-ins/Array/prototype/concat/create-ctor-non-object.js", "test262/test/built-ins/Array/prototype/filter/create-ctor-non-object.js", "test262/test/built-ins/Array/prototype/map/create-ctor-non-object.js", "test262/test/built-ins/Array/prototype/slice/create-ctor-non-object.js", "test262/test/built-ins/Array/prototype/splice/create-ctor-non-object.js", "test262/test/built-ins/Array/prototype/flat/non-object-ctor-throws.js", "test262/test/built-ins/Array/prototype/flatMap/this-value-ctor-non-object.js", # TODO(T76109235) proposal-relative-indexing-method "test262/test/built-ins/Array/prototype/at/", "test262/test/built-ins/TypedArray/prototype/at/", "test262/test/built-ins/String/prototype/at/", # TODO(T90541287) array length coercion order "test262/test/built-ins/Array/length/define-own-prop-length-coercion-order-set.js", "test262/test/built-ins/Array/length/define-own-prop-length-coercion-order.js", "test262/test/built-ins/Array/length/define-own-prop-length-overflow-order.js", # Enumerable attributes shadowing in the prototype chain. # T23621872 "test262/test/language/statements/for-in/12.6.4-2.js", "test262/test/language/statements/for-in/order-enumerable-shadowed.js", # Multiple evaluation # T23622428 "test262/test/language/expressions/prefix-decrement/S11.4.5_A5_T5.js", "test262/test/language/expressions/prefix-decrement/S11.4.5_A6_T3.js", "test262/test/language/expressions/prefix-increment/S11.4.4_A6_T3.js", "test262/test/language/expressions/prefix-increment/S11.4.4_A5_T5.js", "test262/test/language/expressions/postfix-increment/S11.3.1_A6_T3.js", "test262/test/language/expressions/postfix-increment/S11.3.1_A5_T5.js", "test262/test/language/expressions/postfix-decrement/S11.3.2_A6_T3.js", "test262/test/language/expressions/postfix-decrement/S11.3.2_A5_T5.js", "test262/test/language/expressions/assignment/S11.13.1_A7_T2.js", "test262/test/language/expressions/assignment/S11.13.1_A7_T3.js", "test262/test/language/expressions/assignment/S11.13.1_A7_T1.js", "test262/test/language/expressions/assignment/S11.13.1_A5_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.1_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.3_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.2_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.6_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.10_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.7_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.4_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.5_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.3_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.2_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.1_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.4_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.5_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.11_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.7_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.6_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.8_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.9_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.10_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A7.8_T4.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.9_T5.js", "test262/test/language/expressions/compound-assignment/S11.13.2_A5.11_T5.js", # Redefinition "mjsunit/es6/regress/regress-2243.js", # function name is configurable "test262/test/language/expressions/function/name.js", "test262/test/language/expressions/generators/name.js", # TODO(T90541883) arguments and caller should not be created for strict-mode function and class "test262/test/language/expressions/function/forbidden-ext/b1/cls-expr-meth-forbidden-ext-direct-access-prop-arguments.js", "test262/test/language/expressions/function/forbidden-ext/b1/cls-expr-meth-forbidden-ext-direct-access-prop-caller.js", "test262/test/language/expressions/function/forbidden-ext/b1/func-expr-strict-forbidden-ext-direct-access-prop-caller.js", "test262/test/language/expressions/function/forbidden-ext/b1/func-expr-strict-forbidden-ext-direct-access-prop-arguments.js", "test262/test/language/statements/function/forbidden-ext/b1/cls-expr-meth-forbidden-ext-direct-access-prop-caller.js", "test262/test/language/statements/function/forbidden-ext/b1/cls-expr-meth-forbidden-ext-direct-access-prop-arguments.js", # accessors in JSLib # Escaped identifiers "test262/test/language/expressions/assignment/dstr/syntax-error-ident-ref-", "test262/test/language/identifiers/other_id_continue-escaped.js", "test262/test/language/identifiers/other_id_continue.js", "test262/test/language/identifiers/other_id_start-escaped.js", "test262/test/language/identifiers/other_id_start.js", "test262/test/language/identifiers/vertical-tilde-continue-escaped.js", "test262/test/language/identifiers/vertical-tilde-continue.js", "test262/test/language/identifiers/vertical-tilde-start-escaped.js", "test262/test/language/identifiers/vertical-tilde-start.js", # Reserved words should fail when escaped "test262/test/language/identifiers/val-yield-strict.js", "test262/test/language/identifiers/val-catch-via-escape-hex4.js", "test262/test/language/identifiers/val-null-via-escape-hex4.js", "test262/test/language/identifiers/val-if-via-escape-hex4.js", "test262/test/language/identifiers/val-false-via-escape-hex4.js", "test262/test/language/identifiers/val-extends-via-escape-hex4.js", "test262/test/language/identifiers/val-true-via-escape-hex4.js", "test262/test/language/identifiers/val-in-via-escape-hex4.js", "test262/test/language/identifiers/val-void-via-escape-hex4.js", "test262/test/language/identifiers/val-do-via-escape-hex4.js", "test262/test/language/identifiers/val-for-via-escape-hex4.js", "test262/test/language/identifiers/val-try-via-escape-hex4.js", "test262/test/language/identifiers/val-break-via-escape-hex4.js", "test262/test/language/identifiers/val-typeof-via-escape-hex4.js", "test262/test/language/identifiers/val-switch-via-escape-hex4.js", "test262/test/language/identifiers/val-enum-via-escape-hex4.js", "test262/test/language/identifiers/val-export-via-escape-hex4.js", "test262/test/language/identifiers/val-var-via-escape-hex4.js", "test262/test/language/identifiers/val-debugger-via-escape-hex4.js", "test262/test/language/identifiers/val-return-via-escape-hex4.js", "test262/test/language/identifiers/val-default-via-escape-hex4.js", "test262/test/language/identifiers/val-new-via-escape-hex4.js", "test262/test/language/identifiers/val-class-via-escape-hex4.js", "test262/test/language/identifiers/val-throw-via-escape-hex4.js", "test262/test/language/identifiers/val-function-via-escape-hex4.js", "test262/test/language/identifiers/val-instanceof-via-escape-hex4.js", "test262/test/language/identifiers/val-super-via-escape-hex4.js", "test262/test/language/identifiers/val-import-via-escape-hex4.js", "test262/test/language/identifiers/val-delete-via-escape-hex4.js", "test262/test/language/identifiers/val-case-via-escape-hex4.js", "test262/test/language/identifiers/val-finally-via-escape-hex4.js", "test262/test/language/identifiers/val-while-via-escape-hex4.js", "test262/test/language/identifiers/val-else-via-escape-hex4.js", "test262/test/language/identifiers/val-continue-via-escape-hex4.js", "test262/test/language/identifiers/val-super-via-escape-hex.js", "test262/test/language/identifiers/val-export-via-escape-hex.js", "test262/test/language/identifiers/val-delete-via-escape-hex.js", "test262/test/language/identifiers/val-false-via-escape-hex.js", "test262/test/language/identifiers/val-function-via-escape-hex.js", "test262/test/language/identifiers/val-this-via-escape-hex.js", "test262/test/language/identifiers/val-import-via-escape-hex.js", "test262/test/language/identifiers/val-new-via-escape-hex.js", "test262/test/language/identifiers/val-typeof-via-escape-hex.js", "test262/test/language/identifiers/val-null-via-escape-hex.js", "test262/test/language/identifiers/val-with-via-escape-hex.js", "test262/test/language/identifiers/val-extends-via-escape-hex.js", "test262/test/language/identifiers/val-continue-via-escape-hex.js", "test262/test/language/identifiers/val-enum-via-escape-hex.js", "test262/test/language/identifiers/val-break-via-escape-hex.js", "test262/test/language/identifiers/val-case-via-escape-hex.js", "test262/test/language/identifiers/val-void-via-escape-hex.js", "test262/test/language/identifiers/val-if-via-escape-hex.js", "test262/test/language/identifiers/val-do-via-escape-hex.js", "test262/test/language/identifiers/val-throw-via-escape-hex.js", "test262/test/language/identifiers/val-instanceof-via-escape-hex.js", "test262/test/language/identifiers/val-in-via-escape-hex.js", "test262/test/language/identifiers/val-while-via-escape-hex.js", "test262/test/language/identifiers/val-default-via-escape-hex.js", "test262/test/language/identifiers/val-var-via-escape-hex.js", "test262/test/language/identifiers/val-try-via-escape-hex.js", "test262/test/language/identifiers/val-true-via-escape-hex.js", "test262/test/language/identifiers/val-return-via-escape-hex.js", "test262/test/language/identifiers/val-class-via-escape-hex.js", "test262/test/language/identifiers/val-switch-via-escape-hex.js", "test262/test/language/identifiers/val-for-via-escape-hex.js", "test262/test/language/identifiers/val-finally-via-escape-hex.js", "test262/test/language/identifiers/val-debugger-via-escape-hex.js", "test262/test/language/identifiers/val-else-via-escape-hex.js", "test262/test/language/identifiers/val-catch-via-escape-hex.js", "test262/test/language/reserved-words/ident-reference-false-escaped.js", "test262/test/language/reserved-words/label-ident-true-escaped.js", "test262/test/language/reserved-words/label-ident-false-escaped.js", "test262/test/language/reserved-words/label-ident-null-escaped.js", "test262/test/language/reserved-words/ident-reference-true-escaped.js", "test262/test/language/reserved-words/ident-reference-null-escaped.js", "test262/test/language/future-reserved-words/implements-strict-escaped.js", "test262/test/language/future-reserved-words/let-strict-escaped.js", "test262/test/language/future-reserved-words/private-strict-escaped.js", "test262/test/language/future-reserved-words/static-strict-escaped.js", "test262/test/language/future-reserved-words/public-strict-escaped.js", "test262/test/language/future-reserved-words/protected-strict-escaped.js", "test262/test/language/future-reserved-words/yield-strict-escaped.js", "test262/test/language/future-reserved-words/package-strict-escaped.js", "test262/test/language/statements/labeled/value-yield-strict-escaped.js", "test262/test/language/statements/for-of/escaped-of.js", "test262/test/language/expressions/new.target/escaped-new.js", "test262/test/language/future-reserved-words/interface-strict-escaped.js", "test262/test/language/statements/try/catch-parameter-boundnames-restriction-eval-negative-early.js", # exp operator "test262/test/built-ins/Array/prototype/reverse/length-exceeding-integer-limit-with-object.js", "test262/test/built-ins/Array/prototype/splice/clamps-length-to-integer-limit.js", "test262/test/built-ins/Array/prototype/splice/length-exceeding-integer-limit-shrink-array.js", "test262/test/built-ins/Array/prototype/splice/throws-if-integer-limit-exceeded.js", "test262/test/built-ins/Array/prototype/splice/length-and-deleteCount-exceeding-integer-limit.js", "test262/test/built-ins/Array/prototype/splice/length-near-integer-limit-grow-array.js", "test262/test/built-ins/Array/prototype/slice/length-exceeding-integer-limit.js", # very large arrays "test262/test/built-ins/Array/prototype/reverse/length-exceeding-integer-limit-with-proxy.js", "test262/test/built-ins/Array/prototype/slice/length-exceeding-integer-limit-proxied-array.js", "test262/test/built-ins/Array/prototype/unshift/length-near-integer-limit.js", # default arguments "esprima/test_fixtures/expression/primary/object/migrated_0038.js", "mjsunit/es6/default-parameters-debug.js", "test262/test/built-ins/ThrowTypeError/unique-per-realm-non-simple.js", "test262/test/language/arguments-object/unmapped/via-params-dflt.js", "test262/test/language/arguments-object/unmapped/via-params-dstr.js", "test262/test/language/arguments-object/unmapped/via-params-rest.js", "test262/test/language/expressions/function/arguments-with-arguments-fn.js", "test262/test/language/expressions/function/arguments-with-arguments-lex.js", "test262/test/language/expressions/function/scope-name-var-open-non-strict.js", "test262/test/language/expressions/function/scope-name-var-open-strict.js", "test262/test/language/expressions/function/scope-paramsbody-var-open.js", "test262/test/language/expressions/generators/scope-paramsbody-var-open.js", "test262/test/language/expressions/generators/scope-name-var-open-strict.js", "test262/test/language/expressions/generators/dflt-params-trailing-comma.js", "test262/test/language/statements/function/arguments-with-arguments-fn.js", "test262/test/language/statements/function/arguments-with-arguments-lex.js", "test262/test/language/statements/function/scope-paramsbody-var-open.js", "test262/test/language/statements/try/catch-parameter-boundnames-restriction-arguments-negative-early.js", "test262/test/language/statements/try/scope-catch-param-lex-open.js", "test262/test/language/statements/generators/generator-created-after-decl-inst.js", "test262/test/language/expressions/generators/generator-created-after-decl-inst.js", # trailing comma "test262/test/language/expressions/function/dflt-params-trailing-comma.js", # classes and methods "mjsunit/accessors-no-prototype.js", "mjsunit/array-functions-prototype-misc.js", "mjsunit/es6/class-computed-property-names-super.js", "mjsunit/es6/classes-derived-return-type.js", "mjsunit/es6/classes-experimental.js", "mjsunit/es6/classes-maps.js", "mjsunit/es6/classes-subclass-arrays.js", "mjsunit/es6/classes-subclass-builtins.js", "mjsunit/es6/classes-super.js", "mjsunit/es6/computed-property-names-classes.js", "mjsunit/es6/computed-property-names-object-literals-methods.js", "mjsunit/es6/computed-property-names-super.js", "test262/test/built-ins/Array/prototype/concat/Array.prototype.concat_non-array.js", "test262/test/built-ins/TypedArray/from/this-is-not-constructor.js", "test262/test/built-ins/TypedArray/of/this-is-not-constructor.js", "test262/test/built-ins/TypedArray/prototype/fill/fill-values-conversion-once.js", "test262/test/built-ins/TypedArrays/buffer-arg-length-access-throws.js", "test262/test/built-ins/TypedArrays/buffer-arg-length-to-number-detachbuffer.js", "test262/test/built-ins/TypedArrays/from/property-abrupt-completion.js", "test262/test/built-ins/TypedArrays/from/set-value-abrupt-completion.js", "test262/test/built-ins/TypedArrays/from/this-is-not-constructor.js", "test262/test/built-ins/TypedArrays/object-arg-as-generator-iterable-returns.js", "test262/test/built-ins/TypedArrays/object-arg-iterating-throws.js", "test262/test/built-ins/TypedArrays/object-arg-iterator-throws.js", "test262/test/built-ins/TypedArrays/object-arg-length-throws.js", "test262/test/built-ins/TypedArrays/object-arg-throws-from-property.js", "test262/test/built-ins/TypedArrays/object-arg-throws-setting-property.js", "test262/test/built-ins/TypedArrays/of/argument-number-value-throws.js", "test262/test/built-ins/TypedArrays/of/this-is-not-constructor.js", "test262/test/built-ins/TypedArrays/typedarray-arg-other-ctor-buffer-ctor-access-throws.js", "test262/test/language/computed-property-names/class/", "test262/test/language/computed-property-names/to-name-side-effects/numbers-class.js", "test262/test/language/expressions/assignment/destructuring/keyed-destructuring-property-reference-target-evaluation-order.js", "test262/test/language/expressions/assignment/target-super-identifier-reference-null.js", "test262/test/language/expressions/assignment/target-super-computed-reference-null.js", "test262/test/language/expressions/object/accessor-name-literal-numeric-binary.js", "test262/test/language/expressions/object/accessor-name-literal-numeric-octal.js", "test262/test/language/expressions/object/concise-generator.js", "test262/test/language/expressions/object/method.js", "test262/test/language/expressions/object/scope-meth-paramsbody-var-close.js", "test262/test/language/expressions/object/scope-meth-paramsbody-var-open.js", "test262/test/language/expressions/object/scope-setter-paramsbody-var-close.js", "test262/test/language/expressions/object/scope-setter-paramsbody-var-open.js", "test262/test/language/expressions/typeof/get-value.js", "test262/test/language/expressions/object/getter-super-prop.js", "test262/test/language/expressions/object/setter-super-prop.js", # TODO(T90542236) "test262/test/language/expressions/object/identifier-shorthand-let-invalid-strict-mode.js", "test262/test/language/global-code/decl-lex-configurable-global.js", "test262/test/language/arguments-object/cls-decl-", "test262/test/language/arguments-object/cls-expr-", "test262/test/language/expressions/function/dstr/ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/expressions/function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/expressions/function/dstr/dflt-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/expressions/function/dstr/obj-ptrn-id-init-fn-name-class.js", "test262/test/language/expressions/generators/dstr/ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/expressions/generators/dstr/dflt-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/expressions/generators/dstr/dflt-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/expressions/generators/dstr/obj-ptrn-id-init-fn-name-class.js", "test262/test/language/expressions/object/dstr/gen-meth-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/expressions/object/dstr/gen-meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/expressions/object/dstr/gen-meth-dflt-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/expressions/object/dstr/gen-meth-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/expressions/object/dstr/meth-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/expressions/object/dstr/meth-dflt-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/expressions/object/dstr/meth-dflt-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/expressions/object/dstr/meth-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/statements/for-of/dstr/let-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/statements/for-of/dstr/var-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/statements/for-of/dstr/array-elem-target-simple-no-strict.js", "test262/test/language/statements/for-of/dstr/let-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/statements/for-of/dstr/obj-id-init-simple-no-strict.js", "test262/test/language/statements/for-of/dstr/obj-id-simple-no-strict.js", "test262/test/language/statements/for-of/dstr/var-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/statements/for-of/dstr/array-elem-init-simple-no-strict.js", "test262/test/language/statements/variable/dstr/ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/statements/variable/dstr/obj-ptrn-id-init-fn-name-class.js", "test262/test/language/statements/function/dstr/ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/statements/function/dstr/obj-ptrn-id-init-fn-name-class.js", "test262/test/language/statements/function/dstr/dflt-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/statements/function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/statements/for/dstr/let-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/statements/for/dstr/var-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/statements/for/dstr/let-ary-ptrn-elem-id-init-fn-name-class.js", "test262/test/language/statements/for/dstr/var-obj-ptrn-id-init-fn-name-class.js", "test262/test/language/expressions/logical-assignment/lgcl-or-assignment-operator-namedevaluation-class-expression.js", "test262/test/language/expressions/logical-assignment/lgcl-and-assignment-operator-namedevaluation-class-expression.js", "test262/test/language/expressions/logical-assignment/lgcl-nullish-assignment-operator-namedevaluation-class-expression.js", # T34396912 .prototype property on getter/setter "test262/test/built-ins/Function/prototype/Symbol.hasInstance/this-val-poisoned-prototype.js", # spread operator "mjsunit/es6/regress/regress-4298.js", "mjsunit/es6/regress/regress-4417.js", "mjsunit/es6/spread-array.js", "mjsunit/es6/spread-call-new-class.js", "mjsunit/es6/spread-call-new.js", "mjsunit/es6/spread-call-super-property.js", "mjsunit/es6/spread-call.js", "test262/test/language/arguments-object/meth-args-trailing-comma-spread-operator.js", "test262/test/language/arguments-object/func-expr-args-trailing-comma-spread-operator.js", "test262/test/language/arguments-object/func-decl-args-trailing-comma-spread-operator.js", # arrow funs "mjsunit/array-indexing-receiver.js", "mjsunit/array-sort.js", "mjsunit/array-tostring.js", "mjsunit/es6/array-concat.js", "mjsunit/es6/array-length.js", "mjsunit/es6/array-prototype-values.js", "mjsunit/es6/array-species-constructor-accessor.js", "mjsunit/es6/array-species-constructor-delete.js", "mjsunit/es6/array-species-constructor.js", "mjsunit/es6/array-species-delete.js", "mjsunit/es6/array-species-modified.js", "mjsunit/es6/array-species-parent-constructor.js", "mjsunit/es6/array-species-proto.js", "mjsunit/es6/arraybuffer-species.js", "mjsunit/es6/arrow-functions-lexical-arguments.js", "mjsunit/es6/arrow-functions.js", "mjsunit/es6/arrow-rest-params-lazy-parsing.js", "mjsunit/es6/arrow-rest-params.js", "mjsunit/es6/object-assign.js", "mjsunit/es6/object-literals-method.js", "mjsunit/es6/string-replace.js", "mjsunit/es6/tail-call.js", "mjsunit/modules-exports2.js", "test262/test/harness/verifyProperty-restore-accessor.js", "test262/test/harness/detachArrayBuffer-host-detachArrayBuffer.js", "test262/test/harness/assert-throws-early-incorrect-ctor.js", # Reflect "test262/test/language/expressions/typeof/built-in-ordinary-objects-no-call.js", "test262/test/built-ins/TypedArrays/buffer-arg-use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/TypedArrays/typedarray-arg-use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/TypedArrays/object-arg-use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/TypedArrays/length-arg-use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/TypedArrays/no-args-use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-value-function-arguments.js", "test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-value-function-caller.js", "test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-value-regexp-$1.js", "test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-writable-regexp-$1.js", "test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-value-regexp-dollar1.js", "test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-writable-regexp-dollar1.js", # Realm "mjsunit/regress/regress-crbug-501711.js", # leaking arguments "test262/test/built-ins/ThrowTypeError/name.js", "test262/test/built-ins/ThrowTypeError/unique-per-realm-function-proto.js", "test262/test/built-ins/ThrowTypeError/frozen.js", "test262/test/built-ins/ThrowTypeError/extensible.js<Paste>", # arguments object tracking local names "test262/test/language/arguments-object/mapped/nonconfigurable-descriptors-set-value-with-define-property.js", "test262/test/language/arguments-object/mapped/nonconfigurable-nonwritable-descriptors-set-by-arguments.js", "test262/test/language/arguments-object/mapped/nonconfigurable-descriptors-with-param-assign.js", "test262/test/language/arguments-object/mapped/nonconfigurable-descriptors-set-value-by-arguments.js", "test262/test/language/arguments-object/mapped/nonconfigurable-nonwritable-descriptors-set-by-param.js", "test262/test/language/arguments-object/mapped/nonconfigurable-nonenumerable-nonwritable-descriptors-set-by-arguments.js", "test262/test/language/arguments-object/mapped/nonconfigurable-nonenumerable-nonwritable-descriptors-set-by-param.js", "test262/test/language/statements/for-of/arguments-mapped-aliasing.js", # redeclaration "test262/test/language/block-scope/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js", "test262/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-function-declaration.js", "test262/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration.js", "test262/test/language/statements/switch/syntax/redeclaration/var-declaration-attempt-to-redeclare-with-function-declaration.js", # Template cache in Hermes is per-module, not per-realm. "test262/test/language/expressions/tagged-template/cache-differing-expressions-new-function.js", "test262/test/language/expressions/tagged-template/cache-identical-source.js", "test262/test/language/expressions/tagged-template/cache-differing-expressions.js", "test262/test/language/expressions/tagged-template/template-object-template-map.js", # ToLength changes after ES5.1 "test262/test/built-ins/TypedArray/prototype/byteLength/detached-buffer.js", "test262/test/built-ins/TypedArray/prototype/every/callbackfn-detachbuffer.js", "test262/test/built-ins/TypedArray/prototype/length/detached-buffer.js", # RegExp changes # regexp-flags appears to loop forever even in d8. "mjsunit/es6/regexp-flags.js", # Invalid lookbehinds "test262/test/language/literals/regexp/invalid-range-lookbehind.js", "test262/test/language/literals/regexp/invalid-optional-lookbehind.js", "test262/test/language/literals/regexp/invalid-optional-negative-lookbehind.js", "test262/test/language/literals/regexp/invalid-range-negative-lookbehind.js", # unicode-regexp-ignore-case-noi18n is an incorrect test: it falsely # asserts that U+212B (Angstrom Sign) and U+00E5 (A with ring) are not # equal under case folding. "mjsunit/es6/unicode-regexp-ignore-case-noi18n.js", # This tests behavior in ES2018. "test262/test/built-ins/RegExp/prototype/Symbol.search/lastindex-no-restore.js", # species constructors "test262/test/built-ins/RegExp/prototype/Symbol.split/species-ctor-ctor-non-obj.js", "test262/test/built-ins/RegExp/prototype/Symbol.split/species-ctor-ctor-get-err.js", "test262/test/built-ins/RegExp/prototype/Symbol.split/species-ctor-err.js", "test262/test/built-ins/RegExp/prototype/Symbol.split/species-ctor-species-get-err.js", "test262/test/built-ins/RegExp/prototype/Symbol.split/species-ctor-species-non-ctor.js", "test262/test/built-ins/RegExp/prototype/Symbol.split/species-ctor-species-undef.js", "test262/test/built-ins/RegExp/prototype/Symbol.split/species-ctor-y.js", "test262/test/built-ins/RegExp/prototype/Symbol.split/species-ctor.js", # JSON changes # prototype changes "test262/test/built-ins/Error/prototype/S15.11.4_A2.js", # TODO(T90542711) Error prorotype toString "test262/test/built-ins/Error/prototype/no-error-data.js", # Array changes "test262/test/built-ins/Array/prototype/toLocaleString/primitive_this_value_getter.js", "test262/test/built-ins/Array/prototype/toLocaleString/primitive_this_value.js", # Function constructor changes "mjsunit/function-bind.js", "test262/test/built-ins/Function/StrictFunction_restricted-properties.js", "test262/test/built-ins/Function/prototype/restricted-property-arguments.js", "test262/test/built-ins/Function/prototype/restricted-property-caller.js", "test262/test/built-ins/Function/prototype/bind/BoundFunction_restricted-properties.js", # Object() changes "test262/test/built-ins/Object/prototype/toLocaleString/primitive_this_value.js", "test262/test/built-ins/Object/prototype/toLocaleString/primitive_this_value_getter.js", # eval changes "test262/test/language/global-code/script-decl-var.js", "test262/test/language/global-code/script-decl-func-err-non-configurable.js", # TypedArray changes "test262/test/built-ins/TypedArrays/typedarray-arg-same-ctor-buffer-ctor-access-throws.js", "test262/test/built-ins/TypedArrays/internals/Get/key-is-not-integer.js", "test262/test/built-ins/TypedArrays/internals/GetOwnProperty/index-prop-desc.js", "test262/test/built-ins/TypedArray/prototype/sort/sorted-values-nan.js", "test262/test/built-ins/TypedArrays/buffer-arg-defined-negative-length.js", "test262/test/built-ins/TypedArrays/typedarray-arg-other-ctor-buffer-ctor-not-object-throws.js", "test262/test/built-ins/TypedArrays/typedarray-arg-same-ctor-buffer-ctor-value-not-obj-throws.js", "test262/test/built-ins/TypedArrayConstructors/ctors/length-arg/use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/TypedArrayConstructors/ctors/object-arg/use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/TypedArrayConstructors/ctors/buffer-arg/defined-negative-length.js", "test262/test/built-ins/TypedArrayConstructors/ctors/object-arg/iterator-throws.js", "test262/test/built-ins/TypedArrayConstructors/ctors/buffer-arg/use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-not-object-throws.js", "test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-value-not-obj-throws.js", "test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/same-ctor-buffer-ctor-access-throws.js", "test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/other-ctor-buffer-ctor-access-throws.js", "test262/test/built-ins/TypedArrayConstructors/ctors/no-args/use-default-proto-if-custom-proto-is-not-object.js", "test262/test/built-ins/TypedArrayConstructors/internals/Get/key-is-not-minus-zero.js", "test262/test/built-ins/TypedArrayConstructors/internals/Get/key-is-not-integer.js", "test262/test/built-ins/TypedArrayConstructors/internals/Get/key-is-out-of-bounds.js", "test262/test/built-ins/TypedArrayConstructors/internals/GetOwnProperty/index-prop-desc.js", "test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/abrupt-from-ordinary-has-parent-hasproperty.js", "test262/test/built-ins/TypedArrayConstructors/internals/Set/tonumber-value-throws.js", # TypedArray ES7 iterators "test262/test/built-ins/TypedArrayConstructors/ctors/object-arg/iterating-throws.js", "test262/test/built-ins/TypedArrayConstructors/ctors/object-arg/iterator-not-callable-throws.js", "test262/test/built-ins/TypedArrayConstructors/ctors/object-arg/as-generator-iterable-returns.js", "test262/test/built-ins/TypedArrays/object-arg-iterator-not-callable-throws.js", "test262/test/built-ins/TypedArrays/from/iter-invoke-error.js", "test262/test/built-ins/TypedArrays/from/iter-access-error.js", "test262/test/built-ins/TypedArrays/from/iter-next-value-error.js", "test262/test/built-ins/TypedArrays/from/iter-next-error.js", "test262/test/built-ins/TypedArray/from/iter-invoke-error.js", "test262/test/built-ins/TypedArray/from/iter-next-error.js", "test262/test/built-ins/TypedArray/from/iter-next-value-error.js", "test262/test/built-ins/TypedArray/from/iter-access-error.js", "test262/test/built-ins/TypedArrayConstructors/from/iter-invoke-error.js", "test262/test/built-ins/TypedArrayConstructors/from/iter-access-error.js", "test262/test/built-ins/TypedArrayConstructors/from/iter-next-value-error.js", "test262/test/built-ins/TypedArrayConstructors/from/iter-next-error.js", # TypedArray detaching buffer "test262/test/built-ins/ArrayBuffer/prototype/byteLength/detached-buffer.js", "test262/test/built-ins/DataView/custom-proto-access-detaches-buffer.js", "test262/test/built-ins/DataView/detached-buffer.js", "test262/test/built-ins/DataView/prototype/byteLength/detached-buffer.js", "test262/test/built-ins/DataView/prototype/byteLength/instance-has-detached-buffer.js", "test262/test/built-ins/DataView/prototype/byteOffset/detached-buffer.js", "test262/test/built-ins/TypedArray/prototype/find/predicate-may-detach-buffer.js", "test262/test/built-ins/TypedArray/prototype/findIndex/predicate-may-detach-buffer.js", "test262/test/built-ins/TypedArray/prototype/some/callbackfn-detachbuffer.js", "test262/test/built-ins/TypedArray/prototype/reduce/callbackfn-detachbuffer.js", "test262/test/built-ins/TypedArray/prototype/reduceRight/callbackfn-detachbuffer.js", "test262/test/built-ins/TypedArray/prototype/map/callbackfn-detachbuffer.js", "test262/test/built-ins/TypedArray/prototype/forEach/callbackfn-detachbuffer.js", "test262/test/built-ins/TypedArray/prototype/filter/callbackfn-detachbuffer.js", "test262/test/built-ins/TypedArrayConstructors/ctors/buffer-arg/byteoffset-to-number-detachbuffer.js", "test262/test/built-ins/TypedArrayConstructors/ctors/buffer-arg/detachedbuffer.js", "test262/test/built-ins/TypedArrayConstructors/ctors/buffer-arg/length-to-number-detachbuffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-throws.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-throws-realm.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/tonumber-value-detached-buffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/Get/detached-buffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/Get/infinity-detached-buffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/GetOwnProperty/detached-buffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/GetOwnProperty/enumerate-detached-buffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/detached-buffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/Set/detached-buffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/Delete/detached-buffer.js", "test262/test/built-ins/TypedArrayConstructors/internals/Set/tonumber-value-detached-buffer.js", "test262/test/built-ins/TypedArrays/buffer-arg-byteoffset-to-number-detachbuffer.js", "test262/test/built-ins/TypedArrays/buffer-arg-detachedbuffer.js", "test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer.js", "test262/test/built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer.js", "test262/test/built-ins/TypedArrays/internals/HasProperty/detached-buffer.js", "test262/test/built-ins/TypedArrays/internals/Set/tonumber-value-detached-buffer.js", # BigUint64Array "test262/test/built-ins/TypedArrayConstructors/BigUint64Array/is-a-constructor.js", # Float32 TypedArray failure "test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/conversion-operation-consistent-nan.js", # TypedArray accessors "test262/test/built-ins/TypedArrays/internals/Get/key-is-out-of-bounds.js", "test262/test/built-ins/TypedArrays/internals/Get/detached-buffer.js", "test262/test/built-ins/TypedArrays/internals/Get/indexed-value-sab.js", "test262/test/built-ins/TypedArrays/internals/Get/key-is-not-minus-zero.js", "test262/test/built-ins/TypedArrays/internals/Set/tonumber-value-throws.js", "test262/test/built-ins/TypedArrays/internals/Set/detached-buffer.js", # TypedArray numeric index checks are not up to spec. Example: Object.defineProperty(new Float64Array([42, 43]), 2, {value:10}) "test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/key-is-greater-than-last-index.js", "test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/tonumber-value-detached-buffer.js", "test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/key-is-minus-zero.js", "test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/key-is-not-integer.js", "test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/key-is-numericindex-desc-configurable.js", "test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/key-is-lower-than-zero.js", "test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/key-is-numericindex.js", "test262/test/built-ins/TypedArrays/internals/HasProperty/key-is-lower-than-zero.js", "test262/test/built-ins/TypedArrays/internals/Set/key-is-not-integer.js", "test262/test/built-ins/TypedArrays/internals/Set/key-is-out-of-bounds.js", "test262/test/built-ins/TypedArrays/internals/HasProperty/inherited-property.js", "test262/test/built-ins/TypedArrays/internals/Set/key-is-minus-zero.js", "test262/test/built-ins/TypedArrays/internals/HasProperty/key-is-not-integer.js", "test262/test/built-ins/TypedArrays/internals/HasProperty/abrupt-from-ordinary-has-parent-hasproperty.js", "test262/test/built-ins/TypedArrays/internals/HasProperty/key-is-minus-zero.js", "test262/test/built-ins/TypedArrays/internals/HasProperty/key-is-greater-than-last-index.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-greater-than-last-index.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-not-numeric-index-throws.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-lower-than-zero.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-not-integer.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-minus-zero.js", "test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-configurable.js", "test262/test/built-ins/TypedArrayConstructors/internals/Set/key-is-not-integer.js", "test262/test/built-ins/TypedArrayConstructors/internals/Set/key-is-out-of-bounds.js", "test262/test/built-ins/TypedArrayConstructors/internals/Set/key-is-minus-zero.js", "test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/inherited-property.js", "test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/key-is-greater-than-last-index.js", "test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/key-is-not-integer.js", "test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/key-is-lower-than-zero.js", "test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/key-is-minus-zero.js", # SharedArrayBuffer "test262/test/built-ins/ArrayBuffer/prototype/byteLength/this-is-sharedarraybuffer.js", "test262/test/built-ins/ArrayBuffer/prototype/slice/this-is-sharedarraybuffer.js", # function name "test262/test/language/expressions/assignment/fn-name-lhs-member.js", "test262/test/language/expressions/assignment/fn-name-lhs-cover.js", # global object reference "test262/test/built-ins/global/global-object.js", "test262/test/built-ins/global/property-descriptor.js", # Unsupported harness tests "test262/test/harness/timer.js", "test262/test/harness/assert-throws-early-referenceerror.js", "test262/test/harness/assert-throws-same-realm.js", # SpeciesConstructor "test262/test/built-ins/ArrayBuffer/prototype/slice/species-constructor-is-not-object.js", "test262/test/built-ins/TypedArray/prototype/map/speciesctor-get-ctor-abrupt.js", "test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-get-constructor-throws.js", "test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-is-not-object-throws.js", # t19359477 "mjsunit/regress/regress-3976.js", "mjsunit/string-replace-gc.js", # T46136220 Names on anonymous functions with computed property names "test262/test/language/expressions/object/fn-name-gen.js", # T56360814 Symbol primitives in iteration order "test262/test/built-ins/Object/defineProperties/proxy-no-ownkeys-returned-keys-order.js", # TODO(T90543562) Object.freeze/seal/etc. on proxy "test262/test/built-ins/Object/freeze/proxy-no-ownkeys-returned-keys-order.js", "test262/test/built-ins/Object/freeze/proxy-with-defineProperty-handler.js", "test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-no-ownkeys-returned-keys-order.js", "test262/test/built-ins/Object/isFrozen/proxy-no-ownkeys-returned-keys-order.js", "test262/test/built-ins/Object/isSealed/proxy-no-ownkeys-returned-keys-order.js", "test262/test/built-ins/Object/prototype/toString/proxy-revoked-during-get-call.js", "test262/test/built-ins/Object/seal/proxy-no-ownkeys-returned-keys-order.js", "test262/test/built-ins/Object/seal/proxy-with-defineProperty-handler.js", # The below 3 tests are not properly marked their use of feature to be excluded "test262/test/built-ins/Object/seal/seal-aggregateerror.js", "test262/test/built-ins/Object/seal/seal-bigint64array.js", "test262/test/built-ins/Object/seal/seal-biguint64array.js", "test262/test/built-ins/Object/assign/strings-and-symbol-order.js", "test262/test/built-ins/Array/prototype/concat/is-concat-spreadable-get-order.js", "test262/test/language/expressions/array/spread-obj-spread-order.js", "test262/test/language/expressions/call/spread-obj-spread-order.js", "test262/test/language/expressions/new/spread-obj-spread-order.js", # T42569352 TDZ for parameters used in initializer expressions. "test262/test/language/expressions/function/dflt-params-ref-later.js", "test262/test/language/expressions/function/dflt-params-ref-self.js", "test262/test/language/expressions/generators/dflt-params-ref-later.js", "test262/test/language/expressions/generators/dflt-params-ref-self.js", "test262/test/language/statements/function/dflt-params-ref-later.js", "test262/test/language/statements/function/dflt-params-ref-self.js", "test262/test/language/statements/generators/dflt-params-ref-later.js", "test262/test/language/statements/generators/dflt-params-ref-self.js", # Time out. # T20489563 "mjsunit/regress/regress-crbug-482998.js", # Different time out: # T23228706 "mjsunit/regress/regress-581.js", "mjsunit/regress/regress-685.js", "mjsunit/regress/regress-crbug-387031.js", "mjsunit/regress/regress-crbug-516592.js", "mjsunit/regress/regress-splice-large-index.js", # String lowercasing bugs. These only happen on Apple platforms using # CoreFoundation. See T24545708 for a discussion. "test262/test/built-ins/String/prototype/toLocaleLowerCase/special_casing_conditional.js", "test262/test/built-ins/String/prototype/toLowerCase/special_casing_conditional.js", # Intl "test262/test/intl402/Collator/subclassing.js", "test262/test/intl402/Collator/unicode-ext-value-collation.js", "test262/test/intl402/Collator/ignore-invalid-unicode-ext-values.js", "test262/test/intl402/Collator/proto-from-ctor-realm.js", "test262/test/intl402/Collator/prototype/resolvedOptions/order.js", "test262/test/intl402/String/prototype/toLocaleLowerCase/special_casing_Lithuanian.js", "test262/test/intl402/String/prototype/toLocaleLowerCase/special_casing_Azeri.js", "test262/test/intl402/String/prototype/toLocaleLowerCase/special_casing_Turkish.js", "test262/test/intl402/String/prototype/toLocaleUpperCase/special_casing_Lithuanian.js", # Unicode 13.0 "test262/test/language/identifiers/part-unicode-13.0.0-escaped.js", "test262/test/language/identifiers/part-unicode-13.0.0.js", "test262/test/language/identifiers/part-unicode-5.2.0-escaped.js", "test262/test/language/identifiers/part-unicode-5.2.0.js", "test262/test/language/identifiers/start-unicode-13.0.0-escaped.js", "test262/test/language/identifiers/start-unicode-13.0.0.js", # Stack overflow catching. "mjsunit/regress/regress-1132.js", "mjsunit/regress/regress-446389.js", # Concurrent recompilation (these call quit() after deciding to skip the test). "mjsunit/concurrent-initial-prototype-change.js", "mjsunit/compiler/concurrent-proto-change.js", "mjsunit/compiler/manual-concurrent-recompile.js", "mjsunit/compiler/concurrent-invalidate-transition-map.js", "mjsunit/regress/regress-opt-after-debug-deopt.js", "mjsunit/regress/regress-embedded-cons-string.js", "mjsunit/regress/regress-prepare-break-while-recompile.js", # Fails when ASAN/UBSAN are limiting the max native stack depth. "mjsunit/compiler/regress-lazy-deopt.js", # Uncategorized mjsunit failures "mjsunit/accessor-map-sharing.js", "mjsunit/accessors-on-global-object.js", "mjsunit/array-bounds-check-removal.js", "mjsunit/array-concat.js", "mjsunit/array-indexing.js", "mjsunit/array-length.js", "mjsunit/array-push5.js", "mjsunit/array-reduce.js", "mjsunit/array-store-and-grow.js", "mjsunit/array-unshift.js", "mjsunit/bugs/bug-1344252.js", "mjsunit/bugs/bug-222.js", "mjsunit/bugs/bug-617.js", "mjsunit/bugs/bug-941049.js", "mjsunit/bugs/harmony/debug-blockscopes.js", "mjsunit/compiler/deopt-inlined-from-call.js", "mjsunit/compiler/increment-typefeedback.js", "mjsunit/compiler/inlined-array-pop-opt.js", "mjsunit/compiler/inlined-call.js", "mjsunit/compiler/integral32-add-sub.js", "mjsunit/compiler/opt-next-call.js", "mjsunit/compiler/optimized-float32array-length.js", "mjsunit/compiler/optimized-float64array-length.js", "mjsunit/compiler/optimized-instanceof-1.js", "mjsunit/compiler/optimized-instanceof-2.js", "mjsunit/compiler/optimized-int32array-length.js", "mjsunit/compiler/optimized-uint32array-length.js", "mjsunit/compiler/regress-416359.js", "mjsunit/compiler/regress-5320.js", "mjsunit/compiler/regress-compare-negate.js", "mjsunit/compiler/regress-stacktrace-methods.js", "mjsunit/compiler/string-add-try-catch.js", "mjsunit/constant-folding-2.js", "mjsunit/date-parse.js", "mjsunit/date.js", "mjsunit/deopt-minus-zero.js", "mjsunit/deserialize-optimize-inner.js", "mjsunit/dictionary-properties.js", "mjsunit/div-mul-minus-one.js", "mjsunit/double-equals.js", "mjsunit/element-accessor.js", "mjsunit/element-read-only.js", "mjsunit/elements-length-no-holey.js", "mjsunit/elements-transition-hoisting.js", "mjsunit/ensure-growing-store-learns.js", "mjsunit/error-accessors.js", "mjsunit/error-tostring-omit.js", "mjsunit/es6/function-name-configurable.js", "mjsunit/es6/indexed-integer-exotics.js", "mjsunit/es6/regress/regress-2219.js", "mjsunit/es6/regress/regress-2225.js", "mjsunit/es6/regress/regress-2322.js", "mjsunit/es6/regress/regress-2681.js", "mjsunit/es6/regress/regress-2691.js", "mjsunit/es6/regress/regress-3280.js", "mjsunit/es6/regress/regress-3683.js", "mjsunit/es6/regress/regress-3741.js", "mjsunit/es6/regress/regress-3902.js", "mjsunit/es6/regress/regress-4097.js", "mjsunit/es6/regress/regress-411237.js", "mjsunit/es6/regress/regress-4466.js", "mjsunit/es6/regress/regress-4482.js", "mjsunit/es6/regress/regress-455141.js", "mjsunit/es6/regress/regress-468661.js", "mjsunit/es6/regress/regress-474783.js", "mjsunit/es6/regress/regress-4759.js", "mjsunit/es6/regress/regress-508074.js", "mjsunit/es6/regress/regress-cr372788.js", "mjsunit/es6/regress/regress-cr493566.js", "mjsunit/es6/regress/regress-crbug-448730.js", "mjsunit/es6/regress/regress-inlined-new-target.js", "mjsunit/es6/regress/regress-lookup-transition.js", "mjsunit/es6/rest-params-lazy-parsing.js", "mjsunit/es6/throw-type-error-function-restrictions.js", "mjsunit/es6/typedarray.js", "mjsunit/field-type-tracking.js", "mjsunit/fixed-context-shapes-when-recompiling.js", "mjsunit/for-in-opt.js", "mjsunit/for-in.js", "mjsunit/get-prototype-of.js", "mjsunit/global-accessors.js", "mjsunit/global-infinity-strict.js", "mjsunit/global-nan-strict.js", "mjsunit/global-undefined-strict.js", "mjsunit/harmony/array-concat-array-proto-getter.js", "mjsunit/harmony/array-concat-object-proto-dict-getter.js", "mjsunit/harmony/async-arrow-lexical-arguments.js", "mjsunit/harmony/async-arrow-lexical-new.target.js", "mjsunit/harmony/async-arrow-lexical-super.js", "mjsunit/harmony/async-arrow-lexical-this.js", "mjsunit/harmony/async-await-no-constructor.js", "mjsunit/harmony/async-await-resolve-new.js", "mjsunit/harmony/async-await-species.js", "mjsunit/harmony/async-debug-basic.js", "mjsunit/harmony/async-debug-caught-exception-cases.js", "mjsunit/harmony/async-debug-caught-exception.js", "mjsunit/harmony/async-debug-step-abort-at-break.js", "mjsunit/harmony/async-debug-step-continue-at-break.js", "mjsunit/harmony/async-debug-step-in-and-out.js", "mjsunit/harmony/async-debug-step-in-out-out.js", "mjsunit/harmony/async-debug-step-in.js", "mjsunit/harmony/async-debug-step-nested.js", "mjsunit/harmony/async-debug-step-next-constant.js", "mjsunit/harmony/async-debug-step-next.js", "mjsunit/harmony/async-debug-step-out.js", "mjsunit/harmony/async-function-stacktrace.js", "mjsunit/harmony/debug-async-break-on-stack.js", "mjsunit/harmony/debug-async-break.js", "mjsunit/harmony/debug-async-function-async-task-event.js", "mjsunit/harmony/debug-async-liveedit.js", "mjsunit/harmony/default-parameter-do-expression.js", "mjsunit/harmony/do-expressions-control.js", "mjsunit/harmony/function-sent.js", "mjsunit/harmony/futex.js", "mjsunit/harmony/generators-turbo.js", "mjsunit/harmony/generators.js", "mjsunit/harmony/harmony-string-pad-end.js", "mjsunit/harmony/harmony-string-pad-start.js", "mjsunit/harmony/object-entries.js", "mjsunit/harmony/object-get-own-property-descriptors.js", "mjsunit/harmony/object-values.js", "mjsunit/harmony/private-symbols.js", "mjsunit/harmony/private.js", "mjsunit/harmony/regress/regress-4658.js", "mjsunit/harmony/regress/regress-4696.js", "mjsunit/harmony/regress/regress-4755.js", "mjsunit/harmony/regress/regress-4904.js", "mjsunit/harmony/regress/regress-546967.js", "mjsunit/harmony/regress/regress-618603.js", "mjsunit/harmony/regress/regress-624300.js", "mjsunit/harmony/regress/regress-crbug-571149.js", "mjsunit/harmony/regress/regress-crbug-578038.js", "mjsunit/harmony/regress/regress-crbug-621111.js", "mjsunit/harmony/regress/regress-typedarray-out-of-bounds.js", "mjsunit/harmony/sharedarraybuffer.js", "mjsunit/harmony/simd.js", "mjsunit/harmony/sloppy-legacy-duplicate-generators.js", "mjsunit/harmony/sloppy-no-duplicate-async.js", "mjsunit/harmony/sloppy-no-duplicate-generators.js", "mjsunit/harmony/sloppy-restrictive-block-function.js", "mjsunit/harmony/to-length.js", "mjsunit/harmony/to-name.js", "mjsunit/harmony/to-number.js", "mjsunit/harmony/to-primitive.js", "mjsunit/harmony/to-string.js", "mjsunit/harmony/trailing-commas-length.js", "mjsunit/has-own-property-evaluation-order.js", "mjsunit/ignition/dead-code-source-position.js", "mjsunit/ignition/debug-break-mixed-stack.js", "mjsunit/ignition/debug-break-on-stack.js", "mjsunit/ignition/debug-break.js", "mjsunit/ignition/debug-step-mixed-stack.js", "mjsunit/ignition/debug-step-prefix-bytecodes.js", "mjsunit/ignition/debugger-statement.js", "mjsunit/ignition/elided-instruction.js", "mjsunit/ignition/ignition-statistics-extension.js", "mjsunit/ignition/optimized-debug-frame.js", "mjsunit/ignition/optimized-stack-trace.js", "mjsunit/ignition/osr-from-generator.js", "mjsunit/ignition/stack-trace-source-position.js", "mjsunit/indexed-accessors.js", "mjsunit/json-replacer-order.js", "mjsunit/json-stringify-holder.js", "mjsunit/json-stringify-recursive.js", "mjsunit/json-stringify-stack.js", "mjsunit/json2.js", "mjsunit/keyed-load-hole-to-undefined.js", "mjsunit/keyed-load-with-string-key.js", "mjsunit/keyed-load-with-symbol-key.js", "mjsunit/lookup-behind-property.js", "mjsunit/math-floor-of-div-minus-zero.js", "mjsunit/minmax-simple.js", "mjsunit/modules-this.js", "mjsunit/never-optimize.js", "mjsunit/object-define-properties.js", "mjsunit/object-define-property.js", "mjsunit/object-freeze.js", "mjsunit/object-get-own-property-names.js", "mjsunit/object-prevent-extensions.js", "mjsunit/object-seal.js", "mjsunit/packed-elements.js", "mjsunit/polymorph-arrays.js", "mjsunit/random-bit-correlations.js", "mjsunit/regress-3225.js", "mjsunit/regress-sync-optimized-lists.js", "mjsunit/regress/d8-readbuffer.js", "mjsunit/regress/debug-prepare-step-in.js", "mjsunit/regress/regress-102153.js", "mjsunit/regress/regress-103259.js", "mjsunit/regress/regress-1129.js", "mjsunit/regress/regress-1170187.js", "mjsunit/regress/regress-119429.js", "mjsunit/regress/regress-119609.js", "mjsunit/regress/regress-131994.js", "mjsunit/regress/regress-1403.js", "mjsunit/regress/regress-1523.js", "mjsunit/regress/regress-1530.js", "mjsunit/regress/regress-1548.js", "mjsunit/regress/regress-1586.js", "mjsunit/regress/regress-1591.js", "mjsunit/regress/regress-1639-2.js", "mjsunit/regress/regress-1639.js", "mjsunit/regress/regress-1757.js", "mjsunit/regress/regress-1849.js", "mjsunit/regress/regress-1980.js", "mjsunit/regress/regress-2132.js", "mjsunit/regress/regress-2318.js", "mjsunit/regress/regress-2339.js", "mjsunit/regress/regress-2437.js", "mjsunit/regress/regress-2451.js", "mjsunit/regress/regress-2470.js", "mjsunit/regress/regress-252797.js", "mjsunit/regress/regress-2564.js", "mjsunit/regress/regress-2596.js", "mjsunit/regress/regress-2618.js", "mjsunit/regress/regress-2686.js", "mjsunit/regress/regress-269.js", "mjsunit/regress/regress-2825.js", "mjsunit/regress/regress-3159.js", "mjsunit/regress/regress-3176.js", "mjsunit/regress/regress-319722-ArrayBuffer.js", "mjsunit/regress/regress-319722-TypedArrays.js", "mjsunit/regress/regress-3255.js", "mjsunit/regress/regress-325676.js", "mjsunit/regress/regress-3281.js", "mjsunit/regress/regress-330046.js", "mjsunit/regress/regress-334.js", "mjsunit/regress/regress-353004.js", "mjsunit/regress/regress-356053.js", "mjsunit/regress/regress-357103.js", "mjsunit/regress/regress-362870.js", "mjsunit/regress/regress-3641.js", "mjsunit/regress/regress-3650-3.js", "mjsunit/regress/regress-365172-2.js", "mjsunit/regress/regress-3709.js", "mjsunit/regress/regress-3717.js", "mjsunit/regress/regress-3718.js", "mjsunit/regress/regress-373283.js", "mjsunit/regress/regress-385565.js", "mjsunit/regress/regress-392114.js", "mjsunit/regress/regress-394.js", "mjsunit/regress/regress-3960.js", "mjsunit/regress/regress-409533.js", "mjsunit/regress/regress-4121.js", "mjsunit/regress/regress-4173.js", "mjsunit/regress/regress-419663.js", "mjsunit/regress/regress-4255-4.js", "mjsunit/regress/regress-4266.js", "mjsunit/regress/regress-4267.js", "mjsunit/regress/regress-430201.js", "mjsunit/regress/regress-430201b.js", "mjsunit/regress/regress-4320.js", "mjsunit/regress/regress-4380.js", "mjsunit/regress/regress-4521.js", "mjsunit/regress/regress-4525.js", "mjsunit/regress/regress-4577.js", "mjsunit/regress/regress-4640.js", "mjsunit/regress/regress-4703.js", "mjsunit/regress/regress-479528.js", "mjsunit/regress/regress-4908.js", "mjsunit/regress/regress-4945.js", "mjsunit/regress/regress-4964.js", "mjsunit/regress/regress-4967.js", "mjsunit/regress/regress-4971.js", "mjsunit/regress/regress-5004.js", "mjsunit/regress/regress-500831.js", "mjsunit/regress/regress-5010.js", "mjsunit/regress/regress-5033.js", "mjsunit/regress/regress-5036.js", "mjsunit/regress/regress-5071.js", "mjsunit/regress/regress-5085.js", "mjsunit/regress/regress-5106.js", "mjsunit/regress/regress-514362.js", "mjsunit/regress/regress-5164.js", "mjsunit/regress/regress-5174.js", "mjsunit/regress/regress-5178.js", "mjsunit/regress/regress-5181.js", "mjsunit/regress/regress-520029.js", "mjsunit/regress/regress-5216.js", "mjsunit/regress/regress-5245.js", "mjsunit/regress/regress-5252.js", "mjsunit/regress/regress-5342.js", "mjsunit/regress/regress-539875.js", "mjsunit/regress/regress-5404.js", "mjsunit/regress/regress-542099.js", "mjsunit/regress/regress-544991.js", "mjsunit/regress/regress-554865.js", "mjsunit/regress/regress-575364.js", "mjsunit/regress/regress-578775.js", "mjsunit/regress/regress-595319.js", "mjsunit/regress/regress-596718.js", "mjsunit/regress/regress-599414-array-concat-fast-path.js", "mjsunit/regress/regress-599719.js", "mjsunit/regress/regress-599825.js", "mjsunit/regress/regress-613928.js", "mjsunit/regress/regress-617525.js", "mjsunit/regress/regress-617526.js", "mjsunit/regress/regress-617529.js", "mjsunit/regress/regress-618657.js", "mjsunit/regress/regress-622663.js", "mjsunit/regress/regress-633998.js", "mjsunit/regress/regress-639270.js", "mjsunit/regress/regress-642409.js", "mjsunit/regress/regress-648373-sloppy-arguments-includesValues.js", "mjsunit/regress/regress-649078.js", "mjsunit/regress/regress-674753.js", "mjsunit/regress/regress-857.js", "mjsunit/regress/regress-91013.js", "mjsunit/regress/regress-91120.js", "mjsunit/regress/regress-944.js", "mjsunit/regress/regress-94873.js", "mjsunit/regress/regress-95113.js", "mjsunit/regress/regress-95920.js", "mjsunit/regress/regress-995.js", "mjsunit/regress/regress-998565.js", "mjsunit/regress/regress-cntl-descriptors-enum.js", "mjsunit/regress/regress-crbug-107996.js", "mjsunit/regress/regress-crbug-119800.js", "mjsunit/regress/regress-crbug-122271.js", "mjsunit/regress/regress-crbug-160010.js", "mjsunit/regress/regress-crbug-222893.js", "mjsunit/regress/regress-crbug-233737.js", "mjsunit/regress/regress-crbug-245480.js", "mjsunit/regress/regress-crbug-309623.js", "mjsunit/regress/regress-crbug-323936.js", "mjsunit/regress/regress-crbug-349079.js", "mjsunit/regress/regress-crbug-351262.js", "mjsunit/regress/regress-crbug-387599.js", "mjsunit/regress/regress-crbug-393988.js", "mjsunit/regress/regress-crbug-401915.js", "mjsunit/regress/regress-crbug-405922.js", "mjsunit/regress/regress-crbug-409614.js", "mjsunit/regress/regress-crbug-410033.js", "mjsunit/regress/regress-crbug-412203.js", "mjsunit/regress/regress-crbug-422858.js", "mjsunit/regress/regress-crbug-424142.js", "mjsunit/regress/regress-crbug-430846.js", "mjsunit/regress/regress-crbug-432493.js", "mjsunit/regress/regress-crbug-435825.js", "mjsunit/regress/regress-crbug-451770.js", "mjsunit/regress/regress-crbug-465298.js", "mjsunit/regress/regress-crbug-465564.js", "mjsunit/regress/regress-crbug-467180.js", "mjsunit/regress/regress-crbug-469480.js", "mjsunit/regress/regress-crbug-471702.js", "mjsunit/regress/regress-crbug-474297.js", "mjsunit/regress/regress-crbug-480819.js", "mjsunit/regress/regress-crbug-484077.js", "mjsunit/regress/regress-crbug-485548-1.js", "mjsunit/regress/regress-crbug-485548-2.js", "mjsunit/regress/regress-crbug-487289.js", "mjsunit/regress/regress-crbug-489597.js", "mjsunit/regress/regress-crbug-491062.js", "mjsunit/regress/regress-crbug-491943.js", "mjsunit/regress/regress-crbug-500497.js", "mjsunit/regress/regress-crbug-501808.js", "mjsunit/regress/regress-crbug-501809.js", "mjsunit/regress/regress-crbug-505007-1.js", "mjsunit/regress/regress-crbug-505007-2.js", "mjsunit/regress/regress-crbug-505370.js", "mjsunit/regress/regress-crbug-506443.js", "mjsunit/regress/regress-crbug-507070.js", "mjsunit/regress/regress-crbug-511880.js", "mjsunit/regress/regress-crbug-513471.js", "mjsunit/regress/regress-crbug-513472.js", "mjsunit/regress/regress-crbug-523308.js", "mjsunit/regress/regress-crbug-546968.js", "mjsunit/regress/regress-crbug-554831.js", "mjsunit/regress/regress-crbug-568477-1.js", "mjsunit/regress/regress-crbug-568477-2.js", "mjsunit/regress/regress-crbug-568477-3.js", "mjsunit/regress/regress-crbug-568477-4.js", "mjsunit/regress/regress-crbug-570241.js", "mjsunit/regress/regress-crbug-573858.js", "mjsunit/regress/regress-crbug-575080.js", "mjsunit/regress/regress-crbug-575314.js", "mjsunit/regress/regress-crbug-580506.js", "mjsunit/regress/regress-crbug-582048.js", "mjsunit/regress/regress-crbug-582703.js", "mjsunit/regress/regress-crbug-587068.js", "mjsunit/regress/regress-crbug-592340.js", "mjsunit/regress/regress-crbug-592343.js", "mjsunit/regress/regress-crbug-594183.js", "mjsunit/regress/regress-crbug-594574-concat-leak-1.js", "mjsunit/regress/regress-crbug-594574-concat-leak-2.js", "mjsunit/regress/regress-crbug-596394.js", "mjsunit/regress/regress-crbug-599067.js", "mjsunit/regress/regress-crbug-603463.js", "mjsunit/regress/regress-crbug-605060.js", "mjsunit/regress/regress-crbug-605581.js", "mjsunit/regress/regress-crbug-605862.js", "mjsunit/regress/regress-crbug-612142.js", "mjsunit/regress/regress-crbug-614727.js", "mjsunit/regress/regress-crbug-618788.js", "mjsunit/regress/regress-crbug-620253.js", "mjsunit/regress/regress-crbug-621361.js", "mjsunit/regress/regress-crbug-625590.js", "mjsunit/regress/regress-crbug-626715.js", "mjsunit/regress/regress-crbug-627828.js", "mjsunit/regress/regress-crbug-629996.js", "mjsunit/regress/regress-crbug-631917.js", "mjsunit/regress/regress-crbug-633999.js", "mjsunit/regress/regress-crbug-644215.js", "mjsunit/regress/regress-crbug-645103.js", "mjsunit/regress/regress-create-exception.js", "mjsunit/regress/regress-debug-code-recompilation.js", "mjsunit/regress/regress-debug-context-load.js", "mjsunit/regress/regress-debug-deopt-while-recompile.js", "mjsunit/regress/regress-delete-empty-double.js", "mjsunit/regress/regress-double-canonicalization.js", "mjsunit/regress/regress-ensure-initial-map.js", "mjsunit/regress/regress-frame-details-null-receiver.js", "mjsunit/regress/regress-function-length-strict.js", "mjsunit/regress/regress-inline-class-constructor.js", "mjsunit/regress/regress-integer-indexed-element.js", "mjsunit/regress/regress-map-invalidation-1.js", "mjsunit/regress/regress-map-invalidation-2.js", "mjsunit/regress/regress-object-assign-deprecated-2.js", "mjsunit/regress/regress-osr-in-case-label.js", "mjsunit/regress/regress-param-local-type.js", "mjsunit/regress/regress-parseint.js", "mjsunit/regress/regress-put-prototype-transition.js", "mjsunit/regress/regress-set-flags-stress-compact.js", "mjsunit/regress/regress-smi-only-concat.js", "mjsunit/regress/regress-store-uncacheable.js", "mjsunit/regress/regress-string-from-char-code-tonumber.js", "mjsunit/regress/regress-typedarray-length.js", "mjsunit/regress/regress-undefined-nan.js", "mjsunit/regress/regress-undefined-nan3.js", "mjsunit/regress/regress-v8-4972.js", "mjsunit/regress/regress-v8-5009.js", "mjsunit/regress/string-compare-memcmp.js", "mjsunit/samevalue.js", "mjsunit/setters-on-elements.js", "mjsunit/shift-for-integer-div.js", "mjsunit/sin-cos.js", "mjsunit/smi-mul-const.js", "mjsunit/smi-representation.js", "mjsunit/stack-traces-2.js", "mjsunit/stack-traces-custom.js", "mjsunit/stack-traces-overflow.js", "mjsunit/string-case.js", "mjsunit/string-external-cached.js", "mjsunit/string-externalize.js", "mjsunit/string-oom-replace-global-regexp-with-string.js", "mjsunit/string-oom-replace-regexp-global-with-function.js", "mjsunit/string-replace-with-empty.js", "mjsunit/string-slices.js", "mjsunit/substr.js", "mjsunit/to_number_order.js", "mjsunit/track-fields.js", "mjsunit/unary-minus-deopt.js", "mjsunit/unbox-double-arrays.js", "mjsunit/undetectable-compare.js", "mjsunit/undetectable.js", "mjsunit/var.js", "mjsunit/verify-assert-false.js", "mjsunit/verify-check-false.js", ### Unsupported Esprima tests ### ## select ES6 features ## "esprima/test_fixtures/ES6/octal-integer-literal/", "esprima/test_fixtures/ES6/binary-integer-literal/", # ESPrima incorrect handling of \r\n TRV. "esprima/test_fixtures/ES6/template-literals/line-terminators.source.js", "esprima/test_fixtures/ES6/template-literals/escape-sequences.source.js", "esprima/test_fixtures/ES6/template-literals/literal-escape-sequences.source.js", # ESPrima incorrect handling of let early errors. "esprima/test_fixtures/ES6/binding-pattern/array-pattern/for-let-let.js", "esprima/test_fixtures/ES6/binding-pattern/object-pattern/for-let-let.js", # ESPrima incorrect handling illegal yield. "esprima/test_fixtures/ES6/yield/yield-generator-default-parameter.js", "esprima/test_fixtures/ES6/yield/yield-generator-arrow-default.js", "esprima/test_fixtures/ES6/yield/invalid-yield-object-property-getter.js", "esprima/test_fixtures/ES6/yield/invalid-yield-object-property-setter.js", # ESPrima incorrect handling of exporting reserved words. "esprima/test_fixtures/ES6/export-declaration/export-named-keyword-specifier.js", "esprima/test_fixtures/ES6/export-declaration/export-named-keyword-as-specifier.js", # ESPrima incorrect handling of invalid class properties. "esprima/test_fixtures/ES6/class/migrated_0021.js", # ESPrima has the wrong expected value. "esprima/test_fixtures/es2017/async/methods/class-async-method-computed.js", "esprima/test_fixtures/es2017/async/functions/async-if.js", "esprima/test_fixtures/es2017/async/functions/async-if-await.js", # "use strict" inside a function must apply to the name "esprima/test_fixtures/ES6/yield/invalid-yield-strict-function-expression.js", "esprima/test_fixtures/ES6/yield/invalid-yield-strict-function-declaration.js", # array pattern "esprima/test_fixtures/statement/iteration/pattern-in-for-in.js", # let and const "esprima/test_fixtures/statement/iteration/invalid-strict-for-in-let.js", "esprima/test_fixtures/invalid-syntax/migrated_0138.js", "esprima/test_fixtures/invalid-syntax/migrated_0139.js", "esprima/test_fixtures/invalid-syntax/migrated_0232.js", "esprima/test_fixtures/invalid-syntax/migrated_0140.js", "esprima/test_fixtures/ES6/for-of/invalid-strict-for-of-let.js", "esprima/test_fixtures/ES6/lexical-declaration/let_member.js", "esprima/test_fixtures/ES6/lexical-declaration/let_identifier.js", "esprima/test_fixtures/ES6/lexical-declaration/for_let_in.js", "esprima/test_fixtures/ES6/lexical-declaration/let_assign.js", # async "esprima/test_fixtures/es2017/async/methods/invalid-async-line-terminator-property.js", "esprima/test_fixtures/es2017/async/methods/invalid-async-line-terminator-method.js", "esprima/test_fixtures/es2017/async/methods/invalid-static-async-class-generator.js", "esprima/test_fixtures/es2017/async/methods/invalid-async-line-terminator-static-method.js", "esprima/test_fixtures/es2017/async/methods/invalid-async-generator.js", "esprima/test_fixtures/es2017/async/methods/invalid-async-class-generator.js", "esprima/test_fixtures/es2017/async/regular-identifier/line-terminator-parenthesized-arrow.js", "esprima/test_fixtures/es2017/async/functions/invalid-generator-declaration.js", "esprima/test_fixtures/es2017/async/functions/invalid-generator-expression.js", "esprima/test_fixtures/es2017/async/arrows/invalid-async-line-terminator3.js", "esprima/test_fixtures/es2017/async/arrows/invalid-async-line-terminator1.js", # super property "esprima/test_fixtures/ES6/binding-pattern/array-pattern/patterned-catch-dupe.js", "esprima/test_fixtures/ES6/super-property/invalid_super_not_inside_function.js", # object init "esprima/test_fixtures/ES6/object-initialiser/invalid-proto-identifiers.js", "esprima/test_fixtures/ES6/object-initialiser/invalid-proto-getter-literal-identifier.js", "esprima/test_fixtures/ES6/object-initialiser/invalid-proto-literals.js", "esprima/test_fixtures/ES6/object-initialiser/invalid-proto-identifier-literal.js", "esprima/test_fixtures/ES6/object-initialiser/invalid-proto-literal-identifier.js", "esprima/test_fixtures/ES6/object-initialiser/invalid-proto-setter-literal-identifier.js", "esprima/test_fixtures/ES6/class/invalid-setter-method-rest.js", "esprima/test_fixtures/invalid-syntax/migrated_0250.js", "esprima/test_fixtures/invalid-syntax/migrated_0184.js", ## ES6 end ## # Hermes parser does not output tokens. "esprima/test_fixtures/tokenize/", # Hermes does not emit comments "esprima/test_fixtures/comment/", # Hermes does not support tolerant parse "esprima/test_fixtures/tolerant-parse/", # Hermes does not support 'with' "esprima/test_fixtures/directive-prolog/migrated_0000.js", "esprima/test_fixtures/directive-prolog/migrated_0001.js", "esprima/test_fixtures/statement/with/", # Hermes does not yet support HTML entities in JSX "esprima/test_fixtures/JSX/attribute-entity-hex.js", "esprima/test_fixtures/JSX/attribute-non-hex-entity.js", "esprima/test_fixtures/JSX/attribute-entity-decimal.js", "esprima/test_fixtures/JSX/attribute-non-numeric-entity.js", "esprima/test_fixtures/JSX/attribute-entity.js", "esprima/test_fixtures/JSX/attribute-multi-entities.js", # Hermes does not support JSX elements in attributes "esprima/test_fixtures/JSX/attribute-element.js", # ESPrima strips `\n` from CRLF in multiline JSX text "esprima/test_fixtures/JSX/multiline-crlf-text.js", # unsupported features "esprima/test_fixtures/ES2016/", "esprima/test_fixtures/es2018/", # not sure why they fail yet "esprima/test_fixtures/statement/iteration/migrated_0003.js", "esprima/test_fixtures/expression/unary/migrated_0005.js", "esprima/test_fixtures/expression/unary/migrated_0004.js", "esprima/test_fixtures/expression/assignment/migrated_0002.js", # function declaration vs expression "esprima/test_fixtures/statement/labelled/function-declaration.js", "esprima/test_fixtures/statement/if/migrated_0003.js", # non-octal 09.5 "esprima/test_fixtures/expression/primary/literal/numeric/migrated_0024.js", # These should fail but aren't failing. "esprima/test_fixtures/statement/if/invalid-function-declaration3.js", "esprima/test_fixtures/statement/if/invalid-function-declaration1.js", "esprima/test_fixtures/invalid-syntax/migrated_0221.js", "esprima/test_fixtures/invalid-syntax/migrated_0234.js", "esprima/test_fixtures/invalid-syntax/GH-1106-08.js", "esprima/test_fixtures/invalid-syntax/migrated_0188.js", "esprima/test_fixtures/invalid-syntax/migrated_0208.js", "esprima/test_fixtures/invalid-syntax/GH-1106-09.js", "esprima/test_fixtures/invalid-syntax/migrated_0242.js", "esprima/test_fixtures/invalid-syntax/migrated_0233.js", "esprima/test_fixtures/invalid-syntax/migrated_0247.js", "esprima/test_fixtures/invalid-syntax/migrated_0216.js", "esprima/test_fixtures/invalid-syntax/migrated_0187.js", "esprima/test_fixtures/invalid-syntax/migrated_0222.js", "esprima/test_fixtures/expression/primary/keyword/invalid-escaped-true.js", "esprima/test_fixtures/expression/primary/keyword/invalid-escaped-null.js", "esprima/test_fixtures/declaration/function/invalid-strict-labelled-function-declaration.js", "esprima/test_fixtures/invalid-syntax/migrated_0043.source.js", "esprima/test_fixtures/invalid-syntax/migrated_0044.source.js", "esprima/test_fixtures/invalid-syntax/migrated_0041.source.js", "esprima/test_fixtures/expression/primary/literal/regular-expression/migrated_0006.source.js", ### Unsupported Esprima tests end ### ### Failing Flow tests ### # Legacy octal literals in string literals "flow/types/string_literal_invalid/migrated_0000.js", # JSX HTML entities "flow/JSX/html_entity_at_start_of_child.js", # Destructuring identifier validation "flow/ES6/binding-pattern/object-pattern/yield-prop-alias-assignment-strict.js", # flow compiler "options" which disable features "flow/async_arrow_functions/with_type_parameters_types_disabled.js", "flow/class_properties/migrated_0003.js", "flow/class_properties/migrated_0008.js", "flow/class_properties/migrated_0026.js", "flow/nullish_coalescing/missing-plugin.js", "flow/optional_chaining/missing-plugin.js", "flow/typeapp_call/disabled_ambiguous_call.js", "flow/typeapp_call/disabled_ambiguous_new.js", "flow/typeapp_call/function_call_optional.js", "flow/typeapp_call/method_call_optional2.js", # Semantic validation "flow/ES6/super-property/super-call-in-static-constructor.js", "flow/class_properties/super-call-in-arrow.js", "flow/enums/enum-duplicate-member-name.js", "flow/enums/enum-invalid-member-name.js", "flow/types/declare_module_exports_invalid/migrated_0001.js", "flow/types/declare_module_invalid/migrated_0002.js", "flow/types/parameter_defaults/migrated_0023.js", "flow/uninitialized_const_bindings/migrated_0000.js", "flow/uninitialized_const_bindings_invalid/migrated_0000.js", "flow/this_param/class_constructor.js", # Reserved type names "flow/types/aliases/reserved_type.js", "flow/types/annotations/static_is_reserved_param.js", "flow/types/annotations/static_is_reserved_type.js", "flow/types/annotations/underscore_is_reserved_elsewhere.js", "flow/types/import_type_shorthand/migrated_0002.js", "flow/types/import_type_shorthand/typeof_reserved_value.js", "flow/types/import_types/default_reserved_value.js", "flow/types/import_types/named_reserved_value.js", "flow/types/import_types/typeof_named_reserved_type_alias.js", "flow/types/interfaces/implements_reserved_type.js", "flow/types/interfaces/implements_reserved_value.js", "flow/types/interfaces/reserved_type.js", "flow/types/interfaces/reserved_value.js", "flow/types/invalid_keywords/migrated_0000.js", "flow/types/invalid_keywords/migrated_0001.js", "flow/types/opaque_aliases/invalid/reserved_type.js", "flow/types/opaque_aliases/valid/reserved_value.js", # Potentially invalid JSX that is inconsistent across implementations. "flow/JSX/invalid_unpaired_gt.js", "flow/JSX/invalid_unpaired_rcurly.js", # Import attributes "flow/dynamic_import/migrated_0005.js", ### Failing Flow tests end ### ] # Tests that we want to skip only when testing lazy compilation. LAZY_SKIP_LIST = [ # Variable resolution in catch handlers. "test262/test/language/statements/try/scope-catch-param-lex-close.js", ] # This skiplist is specifically for tests that Hermes never intends to support, # and so should not be counted in totals for targeting 100% coverage. PERMANENT_SKIP_LIST = [ # HTML comments. "mjsunit/html-comments.js", # Uses Function.toString(). "mjsunit/fun-name.js", # non-standard HTML construction string functions (e.f. "foo".bold()). "mjsunit/html-string-funcs.js", # Tests v8-specific error messages. "mjsunit/function-call.js", # Tests v8-specific extension of named capture groups, not part of ES6. "mjsunit/harmony/regexp-named-captures.js", # Tests v8-specific extension of Unicode property classes, not part of ES6. "mjsunit/es6/unicode-regexp-backrefs.js", "mjsunit/es6/unicode-regexp-last-index.js", "mjsunit/es6/unicode-regexp-unanchored-advance.js", "mjsunit/harmony/regexp-property-binary.js", "mjsunit/harmony/regexp-property-blocks.js", "mjsunit/harmony/regexp-property-char-class.js", "mjsunit/harmony/regexp-property-enumerated.js", "mjsunit/harmony/regexp-property-exact-match.js", "mjsunit/harmony/regexp-property-general-category.js", "mjsunit/harmony/regexp-property-scripts.js", "mjsunit/harmony/regexp-property-special.js", # Tests RegExp.compile function which is not part of ES 5 or 6, # and is not interesting to implement. "mjsunit/regexp-compile.js", "mjsunit/string-slices-regexp.js", "mjsunit/regress/regress/regress-585775.js", "mjsunit/regress/regress-585775.js", "test262/test/annexB/built-ins/RegExp/prototype/compile/", "test262/test/annexB/built-ins/RegExp/prototype/flags/order-after-compile", # annexB "mjsunit/es6/string-html.js", "mjsunit/function-names.js", "mjsunit/regress/regress-536751.js", "test262/test/annexB/built-ins/Date/prototype/toGMTString/value.js", "test262/test/annexB/built-ins/String/prototype/anchor/", "test262/test/annexB/built-ins/String/prototype/big/", "test262/test/annexB/built-ins/String/prototype/blink/", "test262/test/annexB/built-ins/String/prototype/bold/", "test262/test/annexB/built-ins/String/prototype/fixed/", "test262/test/annexB/built-ins/String/prototype/fontcolor/", "test262/test/annexB/built-ins/String/prototype/fontsize/", "test262/test/annexB/built-ins/String/prototype/italics/", "test262/test/annexB/built-ins/String/prototype/link/", "test262/test/annexB/built-ins/String/prototype/small/", "test262/test/annexB/built-ins/String/prototype/strike/", "test262/test/annexB/built-ins/String/prototype/sub/", "test262/test/annexB/built-ins/String/prototype/sup/", "test262/test/annexB/language/function-code/block-decl", "test262/test/annexB/language/function-code/if-decl", "test262/test/annexB/language/function-code/if-stmt", "test262/test/annexB/language/function-code/switch-case", "test262/test/annexB/language/function-code/switch-dflt", "test262/test/annexB/language/global-code/block-decl", "test262/test/annexB/language/global-code/if-decl", "test262/test/annexB/language/global-code/if-stmt", "test262/test/annexB/language/global-code/switch-case", "test262/test/annexB/language/global-code/switch-dflt", "test262/test/annexB/built-ins/escape/escape-above-astral.js", "test262/test/annexB/language/comments/multi-line-html-close.js", "test262/test/annexB/language/comments/single-line-html-close-asi.js", "test262/test/annexB/language/comments/single-line-html-close.js", "test262/test/annexB/language/comments/single-line-html-open.js", "test262/test/annexB/language/expressions/template-literal/legacy-octal-escape-sequence-non-strict.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-1-strict-explicit-pragma.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-2-strict-explicit-pragma.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-3-strict-explicit-pragma.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-4-strict-explicit-pragma.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-5-strict-explicit-pragma.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-6-strict-explicit-pragma.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-7-strict-explicit-pragma.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-strict-explicit-pragma.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-strict-explicit-pragma.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-strict.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-strict.js", "test262/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js", "test262/test/language/literals/string/legacy-octal-escape-sequence-prologue-strict.js", "test262/test/annexB/language/expressions/object/__proto__-duplicate-computed.js", "test262/test/annexB/language/literals/regexp/class-escape.js", "test262/test/language/function-code/block-decl-onlystrict.js", "test262/test/language/function-code/switch-case-decl-onlystrict.js", "test262/test/language/function-code/switch-case-decl-strict.js", "test262/test/language/function-code/switch-dflt-decl-onlystrict.js", "test262/test/language/function-code/switch-dflt-decl-strict.js", "test262/test/language/global-code/switch-case-decl-strict.js", "test262/test/language/global-code/switch-dflt-decl-strict.js", "test262/test/annexB/language/statements/labeled/function-declaration.js", "test262/test/annexB/built-ins/Function/createdynfn-html-close-comment-body.js", "test262/test/annexB/built-ins/Function/createdynfn-html-close-comment-params.js", "test262/test/annexB/built-ins/Function/createdynfn-html-open-comment-body.js", "test262/test/annexB/built-ins/Function/createdynfn-html-open-comment-params.js", "test262/test/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-body.js", "test262/test/annexB/built-ins/RegExp/prototype/Symbol.split/toint32-limit-recompiles-source.js", "test262/test/annexB/built-ins/RegExp/prototype/Symbol.split/Symbol.match-getter-recompiles-source.js", "test262/test/annexB/built-ins/RegExp/RegExp-control-escape-russian-letter.js", "test262/test/annexB/built-ins/RegExp/RegExp-invalid-control-escape-character-class.js", "test262/test/annexB/built-ins/RegExp/legacy-accessors/input/prop-desc.js", "test262/test/annexB/language/comments/single-line-html-close-unicode-separators.js", "esprima/test_fixtures/es2017/async/regular-identifier/label-async.js", # Testing whole feature sets that Hermes doesn't support. "test262/test/built-ins/Atomics/", "test262/test/built-ins/AsyncGeneratorFunction/", "test262/test/built-ins/SharedArrayBuffer/", "test262/test/intl402/Date/", "test262/test/intl402/DateTimeFormat/", "test262/test/intl402/DisplayNames/", "test262/test/intl402/Intl/supportedValuesOf/", "test262/test/intl402/Intl/builtin.js", "test262/test/intl402/Intl/getCanonicalLocales/has-property.js", "test262/test/intl402/Intl/getCanonicalLocales/Locale-object.js", "test262/test/intl402/ListFormat/", "test262/test/intl402/Locale/", "test262/test/intl402/Number/", "test262/test/intl402/NumberFormat/", "test262/test/intl402/PluralRules/", "test262/test/intl402/Segmenter/", "test262/test/intl402/RelativeTimeFormat/", "mjsunit/asm/", "mjsunit/regress/wasm/", "mjsunit/wasm/", "mjsunit/es6/proxies-", "mjsunit/es6/proxies.js", # Flow AST features. "flow/comment_interning/", "flow/decorators/", "flow/types/annotations_in_comments/", "flow/types/annotations_in_comments_invalid/", # Flow bug "flow/JSX_invalid/migrated_0000.js", ] HANDLESAN_SKIP_LIST = [ # Very slow tests on some builds of Hermes. Handle-SAN, ASAN, and MallocGC # make these very slow. "test262/test/built-ins/decodeURI/S15.1.3.1_A2.5_T1.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A2.5_T1.js", "test262/test/built-ins/RegExp/character-class-escape-non-whitespace.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A1.11_T2.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A1.11_T1.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A1.12_T1.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A1.12_T3.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A1.12_T2.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A1.2_T1.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A1.2_T2.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A2.1_T1.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A2.4_T1.js", "test262/test/built-ins/decodeURI/S15.1.3.1_A1.10_T1.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.10_T1.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.12_T3.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.12_T2.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.11_T2.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.11_T1.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.12_T1.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.2_T1.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.2_T2.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A2.1_T1.js", "test262/test/built-ins/decodeURIComponent/S15.1.3.2_A2.4_T1.js", "test262/test/built-ins/encodeURI/S15.1.3.3_A2.3_T1.js", "test262/test/built-ins/encodeURIComponent/S15.1.3.4_A2.3_T1.js", "test262/test/built-ins/parseInt/S15.1.2.2_A8.js", "test262/test/built-ins/parseFloat/S15.1.2.3_A6.js", "test262/test/built-ins/String/prototype/repeat/repeat-string-n-times.js", ] UNSUPPORTED_FEATURES = [ "AggregateError", "Promise.prototype.finally", "Symbol.asyncIterator", "Symbol.species", "Symbol.prototype.description", "Symbol.unscopables", "async-iteration", "caller", "class", "class-fields-public", "class-fields-private", "class-fields-private-in", "class-static-fields-public", "class-static-fields-private", "class-static-methods-private", "class-static-block", "class-methods-private", "computed-property-names", "const", "destructuring-binding", "dynamic-import", "error-cause", "FinalizationGroup", "FinalizationRegistry", "import-assertions", "json-superset", "let", "new.target", "regexp-match-indices", "regexp-named-groups", "regexp-unicode-property-escapes", "resizable-arraybuffer", "string-trimming", "super", "ShadowRealm", "tail-call-optimization", "Temporal", "well-formed-json-stringify", "u180e", "WeakRef", ] PERMANENT_UNSUPPORTED_FEATURES = [ "Atomics", "BigInt", "IsHTMLDDA", "SharedArrayBuffer", "cross-realm", ] # Tests for Intl features INTL_TESTS = ["test262/test/intl402"] assert len(set(SKIP_LIST)) == len(SKIP_LIST), "Skiplist has duplicates: " + str( [item for item, count in collections.Counter(SKIP_LIST).items() if count > 1] )