62572e011e
The enumerable expression in a for-in/of loop is supposed to have a TDZ for any lexically bound names in that loop (there can be more than one with destructuring). This patch accomplishes this with an almost-correct desugaring. The only thing missing is proper debugger support (the let declarations added by the desugaring, while invisible to code due to shadowing, are visible to the debugger). BUG=v8:4210 LOG=n Review URL: https://codereview.chromium.org/1218543003 Cr-Commit-Position: refs/heads/master@{#29396}
811 lines
53 KiB
Plaintext
811 lines
53 KiB
Plaintext
# Copyright 2011 the V8 project authors. All rights reserved.
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are
|
|
# met:
|
|
#
|
|
# * Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# * Redistributions in binary form must reproduce the above
|
|
# copyright notice, this list of conditions and the following
|
|
# disclaimer in the documentation and/or other materials provided
|
|
# with the distribution.
|
|
# * Neither the name of Google Inc. nor the names of its
|
|
# contributors may be used to endorse or promote products derived
|
|
# from this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
[
|
|
[ALWAYS, {
|
|
############################### BUGS ###################################
|
|
|
|
# BUG(v8:3455)
|
|
'intl402/11.2.3_b': [FAIL],
|
|
'intl402/12.2.3_b': [FAIL],
|
|
|
|
# Unicode canonicalization is not available with i18n turned off.
|
|
'built-ins/String/prototype/localeCompare/15.5.4.9_CE': [['no_i18n', SKIP]],
|
|
|
|
###################### NEEDS INVESTIGATION #######################
|
|
|
|
# Possibly same cause as S8.5_A2.1, below: floating-point tests.
|
|
'built-ins/Math/sin/S15.8.2.16_A7': [PASS, FAIL_OK],
|
|
'built-ins/Math/tan/S15.8.2.18_A7': [PASS, FAIL_OK],
|
|
'built-ins/Math/cos/S15.8.2.7_A7': [PASS, FAIL_OK],
|
|
|
|
# This is an incompatibility between ES5 and V8 on enumerating
|
|
# shadowed elements in a for..in loop.
|
|
# https://code.google.com/p/v8/issues/detail?id=705
|
|
'language/statements/for-in/12.6.4-2': [PASS, FAIL_OK],
|
|
|
|
###################### MISSING ES6 FEATURES #######################
|
|
|
|
# Class, let, const in sloppy mode.
|
|
# https://code.google.com/p/v8/issues/detail?id=3305
|
|
'built-ins/Array/prototype/concat/Array.prototype.concat_non-array': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/finally-block-let-declaration-only-shadows-outer-parameter-value-1': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/finally-block-let-declaration-only-shadows-outer-parameter-value-2': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/for-loop-block-let-declaration-only-shadows-outer-parameter-value-1': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/for-loop-block-let-declaration-only-shadows-outer-parameter-value-2': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/nested-block-let-declaration-only-shadows-outer-parameter-value-1': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/nested-block-let-declaration-only-shadows-outer-parameter-value-2': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/outermost-binding-updated-in-catch-block-nested-block-let-declaration-unseen-outside-of-block': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/try-block-let-declaration-only-shadows-outer-parameter-value-1': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/try-block-let-declaration-only-shadows-outer-parameter-value-2': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/verify-context-in-finally-block': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/verify-context-in-for-loop-block': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/verify-context-in-labelled-block': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/verify-context-in-try-block': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/x-after-break-to-label': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/leave/x-before-continue': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/return-from/block-let': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/catch-parameter-shadowing-let-declaration': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/const-declaration-shadowing-catch-parameter': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/const-declarations-shadowing-parameter-name-let-const-and-var-variables': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/dynamic-lookup-from-closure': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/dynamic-lookup-in-and-through-block-contexts': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/let-declaration-shadowing-catch-parameter': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/let-declarations-shadowing-parameter-name-let-const-and-var': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/lookup-from-closure': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/lookup-in-and-through-block-contexts': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/shadowing/parameter-name-shadowing-parameter-name-let-const-and-var': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/syntax/for-in/acquire-properties-from-array': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/syntax/for-in/acquire-properties-from-object': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/syntax/for-in/mixed-values-in-iteration': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-function-declaration': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-var': [PASS, FAIL_SLOPPY],
|
|
'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-var-with-function-declaration': [PASS, FAIL_SLOPPY],
|
|
'language/class/definition/ClassDeclaration_restricted-properties': [PASS, FAIL_SLOPPY],
|
|
'language/class/definition/ClassExpression_restricted-properties': [PASS, FAIL_SLOPPY],
|
|
'language/class/definition/ClassMethod_restricted-properties': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/generator-no-yield': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/generator-return': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/yield-as-expression-with-rhs': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/yield-as-expression-without-rhs': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/yield-as-generator-method-binding-identifier': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/yield-as-literal-property-name': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/yield-as-property-name': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/yield-as-statement': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/yield-as-yield-operand': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/yield-newline': [PASS, FAIL_SLOPPY],
|
|
'language/class/method-definition/yield-star-before-newline': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/accessor/*': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/method/*': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/generator-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/generator-prototype': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/getter-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/getter-prototype': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/method-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/method-prototype': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/setter-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/setter-prototype': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/to-name-side-effects/class': [PASS, FAIL_SLOPPY],
|
|
'language/computed-property-names/to-name-side-effects/numbers-class': [PASS, FAIL_SLOPPY],
|
|
'language/expressions/arrow-function/lexical-super-call-from-within-constructor':[PASS, FAIL_SLOPPY],
|
|
'language/expressions/arrow-function/lexical-super-property-from-within-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/expressions/arrow-function/lexical-super-property': [PASS, FAIL_SLOPPY],
|
|
'language/expressions/arrow-function/lexical-supercall-from-immediately-invoked-arrow': [PASS, FAIL_SLOPPY],
|
|
'language/expressions/object/method-definition/generator-shadow-parameter-const': [PASS, FAIL_SLOPPY],
|
|
'language/rest-parameters/with-new-target': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/arguments/access': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/arguments/default-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/accessors': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/constructable-but-no-prototype': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/constructor-property': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/constructor-strict-by-default': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/constructor': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/getters-2': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/getters': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/implicit-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/invalid-extends': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/methods-named-eval-arguments': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/methods': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/numeric-property-names': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/prototype-getter': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/prototype-property': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/prototype-setter': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/prototype-wiring': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/setters-2': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/setters': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/side-effects-in-extends': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/side-effects-in-property-define': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/this-access-restriction-2': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/this-access-restriction': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/definition/this-check-ordering': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/name-binding/basic': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/name-binding/const': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/name-binding/expression': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/strict-mode/arguments-caller': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/binding': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/builtins': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/class-definition-evaluation-empty-constructor-heritage-present': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/class-definition-null-proto-contains-return-override': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/class-definition-null-proto-missing-return-override': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/class-definition-null-proto': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/class-definition-superclass-generator': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/default-constructor-2': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/default-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/derived-class-return-override-with-boolean': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/derived-class-return-override-with-empty': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/derived-class-return-override-with-null': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/derived-class-return-override-with-number': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/derived-class-return-override-with-object': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/derived-class-return-override-with-string': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/derived-class-return-override-with-symbol': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/derived-class-return-override-with-this': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/derived-class-return-override-with-undefined': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/superclass-prototype-setter-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/superclass-prototype-setter-method-override': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/subclass/superclass-static-method-override': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/super/in-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/super/in-getter': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/super/in-methods': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/super/in-setter': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/super/in-static-getter': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/super/in-static-methods': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/super/in-static-setter': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-body-has-direct-super-class-heritage': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-body-method-definition-super-property': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-declaration-binding-identifier-class-element-list': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-declaration-computed-method-definition': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-declaration-computed-method-generator-definition': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-declaration-heritage-identifier-reference-class-element-list': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-expression-binding-identifier-opt-class-element-list': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-expression-heritage-identifier-reference': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-expression': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/class-method-propname-constructor': [PASS, FAIL_SLOPPY],
|
|
'language/statements/class/syntax/early-errors/class-body-constructor-empty-missing-class-heritage': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/block-local-closure-get-before-initialization': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/block-local-use-before-initialization-in-declaration-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/block-local-use-before-initialization-in-prior-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/function-local-closure-get-before-initialization': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/function-local-use-before-initialization-in-declaration-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/function-local-use-before-initialization-in-prior-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/global-closure-get-before-initialization': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/global-use-before-initialization-in-declaration-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/global-use-before-initialization-in-prior-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-with-without-initialiser': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-without-with-initialiser': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/block-scope-syntax-const-declarations-without-initialiser': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/const-invalid-assignment-statement-body-for-in': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/const-invalid-assignment-statement-body-for-of': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/const-outer-inner-let-bindings': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/const': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/with-initializer-do-statement-while-expression': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/with-initializer-for-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/with-initializer-if-expression-statement-else-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/with-initializer-if-expression-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/with-initializer-label-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/with-initializer-while-expression-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/without-initializer-case-expression-statement-list': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/without-initializer-default-statement-list': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/without-initializer-do-statement-while-expression': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/without-initializer-for-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/without-initializer-if-expression-statement-else-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/without-initializer-if-expression-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/without-initializer-label-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/const/syntax/without-initializer-while-expression-statement': [PASS, FAIL_SLOPPY],
|
|
'language/statements/continue/labeled-continue': [PASS, FAIL_SLOPPY],
|
|
'language/statements/continue/nested-let-bound-for-loops-inner-continue': [PASS, FAIL_SLOPPY],
|
|
'language/statements/continue/nested-let-bound-for-loops-labeled-continue': [PASS, FAIL_SLOPPY],
|
|
'language/statements/continue/nested-let-bound-for-loops-outer-continue': [PASS, FAIL_SLOPPY],
|
|
'language/statements/continue/no-label-continue': [PASS, FAIL_SLOPPY],
|
|
'language/statements/continue/shadowing-loop-variable-in-same-scope-as-continue': [PASS, FAIL_SLOPPY],
|
|
'language/statements/continue/simple-and-labeled': [PASS, FAIL_SLOPPY],
|
|
'language/statements/for-in/const-fresh-binding-per-iteration-for-in': [PASS, FAIL_SLOPPY],
|
|
'language/statements/for-in/let-fresh-binding-per-iteration-for-in': [PASS, FAIL_SLOPPY],
|
|
'language/statements/for-of/const-fresh-binding-per-iteration-for-of': [PASS, FAIL_SLOPPY],
|
|
'language/statements/for-of/let-fresh-binding-per-iteration-for-of': [PASS, FAIL_SLOPPY],
|
|
'language/statements/for/const-fresh-binding-per-iteration-for': [PASS, FAIL_SLOPPY],
|
|
'language/statements/for/let-fresh-binding-per-iteration-for': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/let-closure-inside-condition': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/let-closure-inside-initialization': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/let-closure-inside-next-expression': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/let-iteration-variable-is-freshly-allocated-for-each-iteration-multi-let-binding': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/let-iteration-variable-is-freshly-allocated-for-each-iteration-single-let-binding': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/let-outer-inner-let-bindings': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/let': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/with-initialisers-in-statement-positions-case-expression-statement-list': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/with-initialisers-in-statement-positions-default-statement-list': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/without-initialisers-in-statement-positions-case-expression-statement-list': [PASS, FAIL_SLOPPY],
|
|
'language/statements/let/syntax/without-initialisers-in-statement-positions-default-statement-list': [PASS, FAIL_SLOPPY],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=3305
|
|
# This times out in sloppy mode because sloppy const assignment does not throw.
|
|
'language/statements/const/syntax/const-invalid-assignment-next-expression-for': [PASS, FAIL, TIMEOUT],
|
|
|
|
# Number/Boolean.prototype is a plain object in ES6
|
|
# https://code.google.com/p/v8/issues/detail?id=4001
|
|
'built-ins/Number/15.7.4-1': [FAIL],
|
|
'built-ins/Number/prototype/S15.7.3.1_A2_*': [FAIL],
|
|
'built-ins/Number/prototype/S15.7.3.1_A3': [FAIL],
|
|
'built-ins/Number/prototype/S15.7.4_A1': [FAIL],
|
|
'built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01': [FAIL],
|
|
'built-ins/Number/prototype/toString/S15.7.4.2_A1_*': [FAIL],
|
|
'built-ins/Number/prototype/toString/S15.7.4.2_A2_*': [FAIL],
|
|
'built-ins/Number/prototype/valueOf/S15.7.4.4_A1_*': [FAIL],
|
|
'built-ins/Boolean/prototype/S15.6.3.1_A1': [FAIL],
|
|
'built-ins/Boolean/prototype/S15.6.4_A1': [FAIL],
|
|
'built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T1': [FAIL],
|
|
'built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T2': [FAIL],
|
|
'built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T1': [FAIL],
|
|
'built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T2': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4118
|
|
'built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44': [FAIL],
|
|
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=3087
|
|
'built-ins/Array/prototype/every/15.4.4.16-3-12': [FAIL],
|
|
'built-ins/Array/prototype/every/15.4.4.16-3-14': [FAIL],
|
|
'built-ins/Array/prototype/every/15.4.4.16-3-25': [FAIL],
|
|
'built-ins/Array/prototype/every/15.4.4.16-3-29': [FAIL],
|
|
'built-ins/Array/prototype/every/15.4.4.16-3-7': [FAIL],
|
|
'built-ins/Array/prototype/every/15.4.4.16-3-8': [FAIL],
|
|
'built-ins/Array/prototype/filter/15.4.4.20-3-12': [FAIL],
|
|
'built-ins/Array/prototype/filter/15.4.4.20-3-25': [FAIL],
|
|
'built-ins/Array/prototype/filter/15.4.4.20-3-7': [FAIL],
|
|
'built-ins/Array/prototype/forEach/15.4.4.18-3-12': [FAIL],
|
|
'built-ins/Array/prototype/forEach/15.4.4.18-3-25': [FAIL],
|
|
'built-ins/Array/prototype/forEach/15.4.4.18-3-7': [FAIL],
|
|
'built-ins/Array/prototype/indexOf/15.4.4.14-3-12': [FAIL],
|
|
'built-ins/Array/prototype/indexOf/15.4.4.14-3-14': [FAIL],
|
|
'built-ins/Array/prototype/indexOf/15.4.4.14-3-25': [FAIL],
|
|
'built-ins/Array/prototype/indexOf/15.4.4.14-3-28': [FAIL],
|
|
'built-ins/Array/prototype/indexOf/15.4.4.14-3-29': [FAIL],
|
|
'built-ins/Array/prototype/indexOf/15.4.4.14-3-7': [FAIL],
|
|
'built-ins/Array/prototype/indexOf/15.4.4.14-3-8': [FAIL],
|
|
'built-ins/Array/prototype/join/S15.4.4.5_A4_T3': [FAIL],
|
|
'built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-12': [FAIL],
|
|
'built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-25': [FAIL],
|
|
'built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-28': [FAIL],
|
|
'built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-7': [FAIL],
|
|
'built-ins/Array/prototype/map/15.4.4.19-3-12': [FAIL],
|
|
'built-ins/Array/prototype/map/15.4.4.19-3-14': [FAIL],
|
|
'built-ins/Array/prototype/map/15.4.4.19-3-25': [FAIL],
|
|
'built-ins/Array/prototype/map/15.4.4.19-3-28': [FAIL],
|
|
'built-ins/Array/prototype/map/15.4.4.19-3-29': [FAIL],
|
|
'built-ins/Array/prototype/map/15.4.4.19-3-7': [FAIL],
|
|
'built-ins/Array/prototype/map/15.4.4.19-3-8': [FAIL],
|
|
'built-ins/Array/prototype/pop/S15.4.4.6_A2_T2': [FAIL],
|
|
'built-ins/Array/prototype/pop/S15.4.4.6_A3_T1': [FAIL],
|
|
'built-ins/Array/prototype/pop/S15.4.4.6_A3_T2': [FAIL],
|
|
'built-ins/Array/prototype/pop/S15.4.4.6_A3_T3': [FAIL],
|
|
'built-ins/Array/prototype/push/S15.4.4.7_A2_T2': [FAIL],
|
|
'built-ins/Array/prototype/push/S15.4.4.7_A4_T1': [FAIL],
|
|
'built-ins/Array/prototype/push/S15.4.4.7_A4_T3': [FAIL],
|
|
'built-ins/Array/prototype/reduce/15.4.4.21-3-12': [FAIL],
|
|
'built-ins/Array/prototype/reduce/15.4.4.21-3-25': [FAIL],
|
|
'built-ins/Array/prototype/reduce/15.4.4.21-3-7': [FAIL],
|
|
'built-ins/Array/prototype/reduceRight/15.4.4.22-3-12': [FAIL],
|
|
'built-ins/Array/prototype/reduceRight/15.4.4.22-3-25': [FAIL],
|
|
'built-ins/Array/prototype/reduceRight/15.4.4.22-3-7': [FAIL],
|
|
'built-ins/Array/prototype/reverse/S15.4.4.8_A3_T3': [FAIL],
|
|
'built-ins/Array/prototype/shift/S15.4.4.9_A3_T3': [FAIL],
|
|
'built-ins/Array/prototype/slice/S15.4.4.10_A3_T1': [FAIL],
|
|
'built-ins/Array/prototype/slice/S15.4.4.10_A3_T2': [FAIL],
|
|
'built-ins/Array/prototype/slice/S15.4.4.10_A3_T3': [FAIL],
|
|
'built-ins/Array/prototype/some/15.4.4.17-3-12': [FAIL],
|
|
'built-ins/Array/prototype/some/15.4.4.17-3-14': [FAIL],
|
|
'built-ins/Array/prototype/some/15.4.4.17-3-25': [FAIL],
|
|
'built-ins/Array/prototype/some/15.4.4.17-3-28': [FAIL],
|
|
'built-ins/Array/prototype/some/15.4.4.17-3-29': [FAIL],
|
|
'built-ins/Array/prototype/some/15.4.4.17-3-7': [FAIL],
|
|
'built-ins/Array/prototype/some/15.4.4.17-3-8': [FAIL],
|
|
'built-ins/Array/prototype/sort/S15.4.4.11_A4_T3': [FAIL],
|
|
'built-ins/Array/prototype/splice/S15.4.4.12_A3_T1': [FAIL],
|
|
'built-ins/Array/prototype/splice/S15.4.4.12_A3_T3': [FAIL],
|
|
'built-ins/Array/prototype/unshift/S15.4.4.13_A3_T2': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=1543
|
|
'built-ins/Array/prototype/find/Array.prototype.find_callable-Proxy-1': [FAIL],
|
|
'built-ins/Array/prototype/find/Array.prototype.find_callable-Proxy-2': [FAIL],
|
|
'language/expressions/object/prop-def-id-eval-error-2': [FAIL],
|
|
'language/statements/for-of/iterator-as-proxy': [FAIL],
|
|
'language/statements/for-of/iterator-next-result-type': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4093
|
|
'built-ins/Array/symbol-species': [FAIL],
|
|
'built-ins/ArrayBuffer/symbol-species': [FAIL],
|
|
'built-ins/Map/symbol-species': [FAIL],
|
|
'built-ins/Promise/symbol-species': [FAIL],
|
|
'built-ins/RegExp/symbol-species': [FAIL],
|
|
'built-ins/Set/symbol-species': [FAIL],
|
|
'built-ins/Symbol/species/basic': [FAIL],
|
|
'built-ins/Symbol/species/builtin-getter-name': [FAIL],
|
|
'built-ins/Symbol/species/subclassing': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4242
|
|
'built-ins/Date/15.9.1.15-1': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4004
|
|
'built-ins/Date/prototype/setFullYear/15.9.5.40_1': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4002
|
|
'built-ins/Error/prototype/S15.11.4_A2': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4163
|
|
'built-ins/GeneratorPrototype/next/context-constructor-invocation': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=3566
|
|
'built-ins/Set/set-iterator-close-after-add-failure': [FAIL],
|
|
|
|
# https://github.com/tc39/test262/pull/334
|
|
'built-ins/Math/E/S15.8.1.1_A1': [PASS, FAIL],
|
|
'built-ins/Math/LN10/S15.8.1.2_A1': [PASS, FAIL],
|
|
'built-ins/Math/LN2/S15.8.1.3_A1': [PASS, FAIL],
|
|
'built-ins/Math/LOG10E/S15.8.1.5_A1': [PASS, FAIL],
|
|
'built-ins/Math/LOG2E/S15.8.1.4_A1': [PASS, FAIL],
|
|
'built-ins/Math/PI/S15.8.1.6_A1': [PASS, FAIL],
|
|
'built-ins/Math/SQRT1_2/S15.8.1.7_A1': [PASS, FAIL],
|
|
'built-ins/Math/SQRT2/S15.8.1.8_A1': [PASS, FAIL],
|
|
'built-ins/Math/acos/S15.8.2.2_A5': [PASS, FAIL],
|
|
'built-ins/Math/asin/S15.8.2.3_A6': [PASS, FAIL],
|
|
'built-ins/Math/atan/S15.8.2.4_A4': [PASS, FAIL],
|
|
'built-ins/Math/atan/S15.8.2.4_A5': [PASS, FAIL],
|
|
'built-ins/Math/atan/S15.8.2.4_A6': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A10': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A11': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A12': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A13': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A15': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A17': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A18': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A19': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A2': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A20': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A21': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A22': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A23': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A24': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A3': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A6': [PASS, FAIL],
|
|
'built-ins/Math/atan2/S15.8.2.5_A7': [PASS, FAIL],
|
|
'built-ins/Math/log/S15.8.2.10_A6': [PASS, FAIL],
|
|
'built-ins/Math/pow/S15.8.2.13_A24': [PASS, FAIL],
|
|
'built-ins/Math/sqrt/S15.8.2.17_A6': [PASS, FAIL],
|
|
'built-ins/Number/MAX_VALUE/S15.7.3.2_A1': [PASS, FAIL],
|
|
'built-ins/Number/MIN_VALUE/S15.7.3.3_A1': [PASS, FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=3715
|
|
'built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-212': [FAIL],
|
|
'built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-213': [FAIL],
|
|
'built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-214': [FAIL],
|
|
'built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-215': [FAIL],
|
|
'built-ins/RegExp/prototype/global/15.10.7.2-1': [FAIL],
|
|
'built-ins/RegExp/prototype/global/15.10.7.2-2': [FAIL],
|
|
'built-ins/RegExp/prototype/global/S15.10.7.2_A9': [FAIL],
|
|
'built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1': [FAIL],
|
|
'built-ins/RegExp/prototype/ignoreCase/15.10.7.3-2': [FAIL],
|
|
'built-ins/RegExp/prototype/ignoreCase/S15.10.7.3_A9': [FAIL],
|
|
'built-ins/RegExp/prototype/lastIndex/15.10.7.5-1': [FAIL],
|
|
'built-ins/RegExp/prototype/lastIndex/15.10.7.5-2': [FAIL],
|
|
'built-ins/RegExp/prototype/multiline/15.10.7.4-1': [FAIL],
|
|
'built-ins/RegExp/prototype/multiline/15.10.7.4-2': [FAIL],
|
|
'built-ins/RegExp/prototype/multiline/S15.10.7.4_A9': [FAIL],
|
|
'built-ins/RegExp/prototype/source/15.10.7.1-1': [FAIL],
|
|
'built-ins/RegExp/prototype/source/15.10.7.1-2': [FAIL],
|
|
'built-ins/RegExp/prototype/source/S15.10.7.1_A9': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4243
|
|
'built-ins/Promise/race/S25.4.4.3_A3.1_T2': [FAIL],
|
|
'built-ins/Promise/reject/S25.4.4.4_A3.1_T1': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4119
|
|
'built-ins/RegExp/15.10.4.1-1': [FAIL],
|
|
'built-ins/RegExp/S15.10.3.1_A2_T1': [FAIL],
|
|
'built-ins/RegExp/S15.10.3.1_A2_T2': [FAIL],
|
|
'built-ins/RegExp/S15.10.4.1_A2_T1': [FAIL],
|
|
'built-ins/RegExp/S15.10.4.1_A2_T2': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4003
|
|
'built-ins/RegExp/prototype/15.10.6': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4244
|
|
'built-ins/RegExp/prototype/exec/S15.10.6.2_A5_T3': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4006
|
|
'built-ins/String/prototype/S15.5.4_A1': [FAIL],
|
|
'built-ins/String/prototype/S15.5.4_A2': [FAIL],
|
|
'built-ins/String/prototype/S15.5.4_A3': [FAIL],
|
|
'language/expressions/property-accessors/S11.2.1_A4_T5': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4245
|
|
'built-ins/String/prototype/split/S15.5.4.14_A2_T37': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=3088
|
|
'built-ins/Symbol/auto-boxing-strict': [FAIL],
|
|
|
|
# The order of adding the name property is wrong
|
|
# https://code.google.com/p/v8/issues/detail?id=4199
|
|
'language/computed-property-names/class/static/method-number': [FAIL, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/method-symbol': [FAIL, FAIL_SLOPPY],
|
|
'language/computed-property-names/class/static/method-string': [FAIL, FAIL_SLOPPY],
|
|
|
|
# new.target
|
|
# https://code.google.com/p/v8/issues/detail?id=3887
|
|
'language/expressions/arrow-function/lexical-new.target': [FAIL],
|
|
'language/expressions/arrow-function/lexical-new.target-closure-returned': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=2160
|
|
'language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-1': [FAIL],
|
|
'language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=3673
|
|
'language/statements/class/definition/basics': [FAIL],
|
|
|
|
# Destructuring
|
|
# https://code.google.com/p/v8/issues/detail?id=811
|
|
'language/statements/for-of/body-dstr-assign': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=3566
|
|
'language/statements/for-of/body-dstr-assign-error': [FAIL],
|
|
'language/statements/for-of/body-put-error': [FAIL],
|
|
'language/statements/for-of/generator-close-via-break': [FAIL],
|
|
'language/statements/for-of/generator-close-via-return': [FAIL],
|
|
'language/statements/for-of/generator-close-via-throw': [FAIL],
|
|
'language/statements/for-of/iterator-close-get-method-error': [FAIL],
|
|
'language/statements/for-of/iterator-close-non-object': [FAIL],
|
|
'language/statements/for-of/iterator-close-via-break': [FAIL],
|
|
'language/statements/for-of/iterator-close-via-return': [FAIL],
|
|
'language/statements/for-of/iterator-close-via-throw': [FAIL],
|
|
|
|
# We do not expose Array.prototype.values
|
|
# https://code.google.com/p/v8/issues/detail?id=4247
|
|
'built-ins/Array/prototype/Symbol.iterator': [FAIL],
|
|
|
|
#https://code.google.com/p/v8/issues/detail?id=3983
|
|
'language/expressions/generators/yield-as-function-expression-binding-identifier': [FAIL],
|
|
'language/expressions/generators/yield-as-generator-expression-binding-identifier': [FAIL],
|
|
'language/expressions/object/method-definition/generator-argSuperProperty': [FAIL],
|
|
'language/expressions/object/method-definition/yield-as-function-expression-binding-identifier': [FAIL],
|
|
'language/statements/generators/yield-as-function-expression-binding-identifier': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=3566
|
|
'built-ins/GeneratorPrototype/return/from-state-completed': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/from-state-suspended-start': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/property-descriptor': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-catch-before-try': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-catch-following-catch': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-catch-within-catch': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-catch-within-try': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-finally-before-try': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-finally-following-finally': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-finally-nested-try-catch-within-catch': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-finally-nested-try-catch-within-finally': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-finally-nested-try-catch-within-inner-try': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-finally-nested-try-catch-within-outer-try-after-nested': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-finally-nested-try-catch-within-outer-try-before-nested': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-finally-within-finally': [FAIL],
|
|
'built-ins/GeneratorPrototype/return/try-finally-within-try': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4177
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-2': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-3': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-4': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-2': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-3': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-4': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-5': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-2': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-3': [FAIL],
|
|
'language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-4': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=811
|
|
'language/expressions/assignment/destructuring/array-elem-elision': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-init-assignment': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-init-evaluation': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-init-in': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-init-let': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-init-order': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-init-simple-no-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-init-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-init-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-array': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-array-null': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-array-undefined': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-array-undefined-hole': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-array-undefined-own': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-array-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-array-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-obj': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-obj-null': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-obj-undefined': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-obj-undefined-hole': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-obj-undefined-own': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-obj-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-nested-obj-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-put-const': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-put-let': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-put-prop-ref': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-put-prop-ref-no-get': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-put-prop-ref-user-err': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-put-unresolvable-no-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-put-unresolvable-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-target-identifier': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-target-simple-no-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-target-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-elem-target-yield-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-empty': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-iteration': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-after-element': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-after-elision': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-elision': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-iteration': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-array': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-array-null': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-array-undefined': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-array-undefined-hole': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-array-undefined-own': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-array-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-array-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-obj': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-obj-null': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-obj-undefined': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-obj-undefined-hole': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-obj-undefined-own': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-obj-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-nested-obj-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-put-const': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-put-let': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-put-prop-ref': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-put-prop-ref-no-get': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-put-prop-ref-user-err': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-put-unresolvable-no-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-put-unresolvable-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-rest-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/array-sparse': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-identifier-resolution': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-identifier-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-init-assignment': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-init-evaluation': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-init-in': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-init-let': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-init-order': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-init-simple-no-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-init-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-init-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-put-const': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-put-let': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-put-unresolvable-no-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-put-unresolvable-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-id-simple-no-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-elem-init-assignment': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-elem-init-evaluation': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-elem-init-in': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-elem-init-let': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-elem-init-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-elem-init-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-elem-target-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-elem-target-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-identifier-resolution': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-name-evaluation': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-name-evaluation-error': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-array': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-array-null': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-array-undefined': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-array-undefined-own': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-array-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-array-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-obj': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-obj-null': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-obj-undefined': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-obj-undefined-own': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-obj-yield-expr': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-nested-obj-yield-ident-valid': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-put-const': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-put-let': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-put-order': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-put-prop-ref': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-put-prop-ref-no-get': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-put-prop-ref-user-err': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-put-unresolvable-no-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/obj-prop-put-unresolvable-strict': [FAIL],
|
|
'language/expressions/assignment/destructuring/object-empty': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4248
|
|
'language/expressions/compound-assignment/S11.13.2_A5.*': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A6.*': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.10_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.11_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.1_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.2_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.3_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.4_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.5_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.6_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.7_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.8_T4': [FAIL],
|
|
'language/expressions/compound-assignment/S11.13.2_A7.9_T4': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4249
|
|
'language/expressions/assignment/S11.13.1_A7_T1': [FAIL],
|
|
'language/expressions/assignment/S11.13.1_A7_T2': [FAIL],
|
|
'language/expressions/assignment/S11.13.1_A7_T3': [FAIL],
|
|
'language/expressions/postfix-increment/S11.3.1_A6_T3': [FAIL],
|
|
'language/expressions/postfix-decrement/S11.3.2_A6_T3': [FAIL],
|
|
'language/expressions/prefix-decrement/S11.4.5_A6_T3': [FAIL],
|
|
'language/expressions/prefix-increment/S11.4.4_A6_T3': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4250
|
|
'language/expressions/assignment/S11.13.1_A5*': [FAIL],
|
|
'language/expressions/assignment/S11.13.1_A6*': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=3699
|
|
'language/expressions/generators/implicit-name': [FAIL],
|
|
'language/expressions/generators/name-property-descriptor': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4251
|
|
'language/expressions/postfix-increment/S11.3.1_A5_T1': [FAIL],
|
|
'language/expressions/postfix-increment/S11.3.1_A5_T2': [FAIL],
|
|
'language/expressions/postfix-increment/S11.3.1_A5_T3': [FAIL],
|
|
'language/expressions/postfix-increment/S11.3.1_A5_T4': [FAIL],
|
|
'language/expressions/postfix-increment/S11.3.1_A5_T5': [FAIL],
|
|
'language/expressions/postfix-decrement/S11.3.2_A5_*': [FAIL],
|
|
'language/expressions/prefix-decrement/S11.4.5_A5_*': [FAIL],
|
|
'language/expressions/prefix-increment/S11.4.4_A5_*': [FAIL],
|
|
|
|
# https://code.google.com/p/v8/issues/detail?id=4253
|
|
'language/asi/S7.9_A5.7_T1': [PASS, FAIL_OK],
|
|
|
|
######################## NEEDS INVESTIGATION ###########################
|
|
|
|
# These test failures are specific to the intl402 suite and need investigation
|
|
# to be either marked as bugs with issues filed for them or as deliberate
|
|
# incompatibilities if the test cases turn out to be broken or ambiguous.
|
|
'intl402/6.2.3': [FAIL],
|
|
'intl402/9.2.1_2': [FAIL],
|
|
'intl402/9.2.6_2': [FAIL],
|
|
'intl402/10.1.1_a': [FAIL],
|
|
'intl402/10.1.2.1_4': [FAIL],
|
|
'intl402/10.1.2_a': [PASS, FAIL],
|
|
'intl402/10.2.3_b': [PASS, FAIL],
|
|
'intl402/10.3.2_1_c': [PASS, FAIL],
|
|
'intl402/10.3.2_CS_b_NN': [PASS, FAIL],
|
|
'intl402/10.3.2_CS_c_NN': [PASS, FAIL],
|
|
'intl402/10.3.2_CS_d_NN': [PASS, FAIL],
|
|
'intl402/10.3_a': [FAIL],
|
|
'intl402/11.1.1_20_c': [FAIL],
|
|
'intl402/11.1.1_a': [FAIL],
|
|
'intl402/11.1.2': [PASS, FAIL],
|
|
'intl402/11.1.2.1_4': [FAIL],
|
|
'intl402/11.3_a': [FAIL],
|
|
'intl402/12.1.1_a': [FAIL],
|
|
'intl402/12.1.2': [PASS, FAIL],
|
|
'intl402/12.1.2.1_4': [FAIL],
|
|
'intl402/12.3.2_FDT_7_a_iv': [FAIL],
|
|
'intl402/12.3.3': [FAIL],
|
|
'intl402/12.3_a': [FAIL],
|
|
'intl402/13.1.1_7': [PASS, FAIL],
|
|
'intl402/13.2.1_5': [PASS, FAIL],
|
|
'intl402/13.3.0_7': [PASS, FAIL],
|
|
|
|
# These tests fail in nosnap in strict mode
|
|
# https://code.google.com/p/v8/issues/detail?id=4198
|
|
'built-ins/String/S15.5.1.1_A1_T6': [PASS, FAIL_OK],
|
|
'built-ins/eval/S15.1.2.1_A1.1_T1': [PASS, FAIL_OK],
|
|
'built-ins/eval/S15.1.2.1_A1.1_T2': [PASS, FAIL_OK],
|
|
'built-ins/eval/S15.1.2.1_A4.3': [PASS, FAIL_OK],
|
|
'built-ins/eval/S15.1.2.1_A4.4': [PASS, FAIL_OK],
|
|
'language/eval-code/10.4.2-1-1': [PASS, FAIL_OK],
|
|
'language/eval-code/10.4.2-1-2': [PASS, FAIL_OK],
|
|
'language/eval-code/10.4.2-1-3': [PASS, FAIL_OK],
|
|
'language/eval-code/10.4.2-1-5': [PASS, FAIL_OK],
|
|
'language/eval-code/S10.4.2.1_A1': [PASS, FAIL_OK],
|
|
'language/function-code/10.4.3-1-19-s': [PASS, FAIL_OK],
|
|
'language/function-code/10.4.3-1-19gs': [PASS, FAIL_OK],
|
|
'language/function-code/10.4.3-1-20-s': [PASS, FAIL_OK],
|
|
'language/function-code/10.4.3-1-20gs': [PASS, FAIL_OK],
|
|
'language/statements/variable/12.2.1-10-s': [PASS, FAIL_OK],
|
|
'language/statements/variable/12.2.1-20-s': [PASS, FAIL_OK],
|
|
'language/statements/variable/12.2.1-21-s': [PASS, FAIL_OK],
|
|
'language/statements/variable/12.2.1-9-s': [PASS, FAIL_OK],
|
|
|
|
##################### DELIBERATE INCOMPATIBILITIES #####################
|
|
|
|
'built-ins/Math/exp/S15.8.2.8_A6': [PASS, FAIL_OK], # Math.exp (less precise with --fast-math)
|
|
|
|
# Linux for ia32 (and therefore simulators) default to extended 80 bit
|
|
# floating point formats, so these tests checking 64-bit FP precision fail.
|
|
# The other platforms/arch's pass these tests.
|
|
# We follow the other major JS engines by keeping this default.
|
|
'language/types/number/S8.5_A2.1': [PASS, FAIL_OK],
|
|
'language/types/number/S8.5_A2.2': [PASS, FAIL_OK],
|
|
|
|
############################ INVALID TESTS #############################
|
|
|
|
# The reference value calculated by Test262 is incorrect if you run these
|
|
# tests in PST/PDT between first Sunday in March and first Sunday in April.
|
|
# The DST switch was moved in 2007 whereas Test262 bases the reference value
|
|
# on 2000. Test262 Bug: https://bugs.ecmascript.org/show_bug.cgi?id=293
|
|
'built-ins/Date/S15.9.3.1_A5_T1': [PASS, FAIL_OK],
|
|
'built-ins/Date/S15.9.3.1_A5_T2': [PASS, FAIL_OK],
|
|
'built-ins/Date/S15.9.3.1_A5_T3': [PASS, FAIL_OK],
|
|
'built-ins/Date/S15.9.3.1_A5_T4': [PASS, FAIL_OK],
|
|
'built-ins/Date/S15.9.3.1_A5_T5': [PASS, FAIL_OK],
|
|
'built-ins/Date/S15.9.3.1_A5_T6': [PASS, FAIL_OK],
|
|
|
|
# Test makes unjustified assumptions about the number of calls to SortCompare.
|
|
# Test262 Bug: https://bugs.ecmascript.org/show_bug.cgi?id=596
|
|
'built-ins/Array/prototype/sort/bug_596_1': [PASS, FAIL_OK],
|
|
|
|
# Tests do not return boolean.
|
|
'built-ins/Object/keys/15.2.3.14-1-1': [PASS, FAIL_OK],
|
|
'built-ins/Object/keys/15.2.3.14-1-2': [PASS, FAIL_OK],
|
|
'built-ins/Object/keys/15.2.3.14-1-3': [PASS, FAIL_OK],
|
|
|
|
############################ SKIPPED TESTS #############################
|
|
|
|
# These tests take a looong time to run.
|
|
'built-ins/decodeURI/S15.1.3.1_A1.10_T1': [SKIP],
|
|
'built-ins/decodeURI/S15.1.3.1_A1.11_T1': [SKIP],
|
|
'built-ins/decodeURI/S15.1.3.1_A1.11_T2': [SKIP],
|
|
'built-ins/decodeURI/S15.1.3.1_A1.12_T1': [SKIP],
|
|
'built-ins/decodeURI/S15.1.3.1_A1.12_T2': [SKIP],
|
|
'built-ins/decodeURI/S15.1.3.1_A2.5_T1': [SKIP],
|
|
'built-ins/decodeURIComponent/S15.1.3.2_A1.11_T1': [SKIP],
|
|
'built-ins/decodeURIComponent/S15.1.3.2_A1.12_T1': [SKIP],
|
|
'built-ins/decodeURIComponent/S15.1.3.2_A2.5_T1': [SKIP],
|
|
'built-ins/RegExp/S15.10.2.12_A3_T1': [SKIP],
|
|
'intl402/9.2.6_4_b': [SKIP],
|
|
'language/literals/regexp/S7.8.5_A1.1_T2': [SKIP],
|
|
'language/literals/regexp/S7.8.5_A1.4_T2': [SKIP],
|
|
'language/literals/regexp/S7.8.5_A2.1_T2': [SKIP],
|
|
'language/literals/regexp/S7.8.5_A2.4_T2': [SKIP],
|
|
'language/statements/const/syntax/const-invalid-assignment-next-expression-for': [SKIP],
|
|
}], # ALWAYS
|
|
|
|
['system == macos', {
|
|
'intl402/11.3.2_TRP': [FAIL],
|
|
'intl402/9.2.5_11_g_ii_2': [FAIL],
|
|
}], # system == macos
|
|
|
|
['arch == arm or arch == mipsel or arch == mips or arch == arm64 or arch == mips64el', {
|
|
|
|
# TODO(mstarzinger): Causes stack overflow on simulators due to eager
|
|
# compilation of parenthesized function literals. Needs investigation.
|
|
'language/statements/function/S13.2.1_A1_T1': [SKIP],
|
|
|
|
# BUG(3251225): Tests that timeout with --nocrankshaft.
|
|
'built-ins/decodeURI/S15.1.3.1_A2.4_T1': [SKIP],
|
|
'built-ins/decodeURI/S15.1.3.1_A2.5_T1': [SKIP],
|
|
'built-ins/decodeURIComponent/S15.1.3.2_A2.4_T1': [SKIP],
|
|
'built-ins/decodeURIComponent/S15.1.3.2_A2.5_T1': [SKIP],
|
|
'built-ins/encodeURI/S15.1.3.3_A2.3_T1': [SKIP],
|
|
'built-ins/encodeURIComponent/S15.1.3.4_A2.3_T1': [SKIP],
|
|
}], # 'arch == arm or arch == mipsel or arch == mips or arch == arm64'
|
|
]
|