text: # Copyright (c) Facebook, Inc. and its 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",
      # 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/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/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-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",
      # 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",
      # 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-lazy.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/built-ins/intl402/",
      "test262/test/intl402/Collator/",
      "test262/test/intl402/Date/",
      "test262/test/intl402/DateTimeFormat/",
      "test262/test/intl402/DisplayNames/",
      "test262/test/intl402/Intl/supportedValuesOf/",
      "test262/test/intl402/Intl/toStringTag/",
      "test262/test/intl402/Intl/builtin.js",
      "test262/test/intl402/Intl/getCanonicalLocales/error-cases.js",
      "test262/test/intl402/Intl/getCanonicalLocales/canonicalized-unicode-ext-seq.js",
      "test262/test/intl402/Intl/getCanonicalLocales/main.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/String/",
      "test262/test/intl402/RelativeTimeFormat/",
      "mjsunit/asm/",
      "mjsunit/regress/wasm/",
      "mjsunit/wasm/",
      "mjsunit/es6/proxies-",
      "mjsunit/es6/proxies.js",
      # Flow AST features.
      "flow/bigint/",
      "flow/comment_interning/",
      "flow/decorators/",
      "flow/types/annotations_in_comments/",
      "flow/types/annotations_in_comments_invalid/",
      "flow/types/bigint_literal/",
      # 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",
  ]
  
  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-methods-private",
      "computed-property-names",
      "const",
      "destructuring-binding",
      "dynamic-import",
      "FinalizationGroup",
      "FinalizationRegistry",
      "json-superset",
      "let",
      "new.target",
      "regexp-match-indices",
      "regexp-named-groups",
      "regexp-unicode-property-escapes",
      "string-trimming",
      "super",
      "tail-call-optimization",
      "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]
  )
  