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]
)