diff --git a/test/test262-es6/README b/test/test262-es6/README index 531189719b..b33494b772 100644 --- a/test/test262-es6/README +++ b/test/test262-es6/README @@ -4,13 +4,13 @@ tests from https://github.com/tc39/test262 -at hash 43acf61 (2015/03/31 revision) as 'data' in this directory. Using later +at hash 488c0a7 (2015/06/11 revision) as 'data' in this directory. Using later version may be possible but the tests are only known to pass (and indeed run) with that revision. git clone https://github.com/tc39/test262 data cd data - git checkout 43acf61 + git checkout 488c0a7 If you do update to a newer revision you may have to change the test harness adapter code since it uses internal functionality from the diff --git a/test/test262-es6/test262-es6.status b/test/test262-es6/test262-es6.status index 4a027eb3e3..957561fa1a 100644 --- a/test/test262-es6/test262-es6.status +++ b/test/test262-es6/test262-es6.status @@ -48,92 +48,26 @@ # https://code.google.com/p/v8/issues/detail?id=705 'language/statements/for-in/12.6.4-2': [PASS, FAIL_OK], - ######################### HARNESS ISSUES ########################## - # These are failures due to our harness not working as supposed - - # Uses [onlyStrict] - 'built-ins/Array/prototype/find/Array.prototype.find_this-undefined': [FAIL], - ###################### MISSING ES6 FEATURES ####################### - # Requires --harmony-sloppy - 'built-ins/Array/prototype/concat/Array.prototype.concat_non-array': [FAIL], - - # --harmony-computed-property-names is not yet enabled - 'language/computed-property-names/class/accessor/getter': [FAIL], - 'language/computed-property-names/class/accessor/getter-duplicates': [FAIL], - 'language/computed-property-names/class/accessor/setter': [FAIL], - 'language/computed-property-names/class/accessor/setter-duplicates': [FAIL], - 'language/computed-property-names/class/method/constructor': [FAIL], - 'language/computed-property-names/class/method/generator': [FAIL], - 'language/computed-property-names/class/method/number': [FAIL], - 'language/computed-property-names/class/method/string': [FAIL], - 'language/computed-property-names/class/method/symbol': [FAIL], - 'language/computed-property-names/class/static/method-number': [FAIL], - 'language/computed-property-names/class/static/method-string': [FAIL], - 'language/computed-property-names/class/static/method-symbol': [FAIL], - 'language/computed-property-names/to-name-side-effects/class': [FAIL], - 'language/computed-property-names/to-name-side-effects/numbers-class': [FAIL], + # Class, let, const in sloppy mode. + # https://code.google.com/p/v8/issues/detail?id=3305 + 'language/block-scope/*': [PASS, ['sloppy', FAIL]], # Number.prototype is a plain object in ES6 'built-ins/Number/15.7.4-1': [FAIL], - 'built-ins/Number/prototype/S15.7.3.1_A2_T1': [FAIL], - 'built-ins/Number/prototype/S15.7.3.1_A2_T2': [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_T01': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A1_T02': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A1_T03': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T01': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T02': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T03': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T04': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T05': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T06': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T07': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T08': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T09': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T10': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T11': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T12': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T13': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T14': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T15': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T16': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T17': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T18': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T19': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T20': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T21': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T22': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T23': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T24': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T25': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T26': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T27': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T28': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T29': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T30': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T31': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T32': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T33': [FAIL], - 'built-ins/Number/prototype/toString/S15.7.4.2_A2_T34': [FAIL], - 'built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T01': [FAIL], - 'built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T02': [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], - ######################## OBSOLETED BY ES6 ########################### + # https://code.google.com/p/v8/issues/detail?id=4118 + 'built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44': [FAIL], - # ES6 allows duplicate properties - 'language/expressions/object/11.1.5-4-4-a-1-s': [FAIL], - 'language/expressions/object/11.1.5_4-4-b-1': [FAIL], - 'language/expressions/object/11.1.5_4-4-b-2': [FAIL], - 'language/expressions/object/11.1.5_4-4-c-1': [FAIL], - 'language/expressions/object/11.1.5_4-4-c-2': [FAIL], - 'language/expressions/object/11.1.5_4-4-d-1': [FAIL], - 'language/expressions/object/11.1.5_4-4-d-2': [FAIL], - 'language/expressions/object/11.1.5_4-4-d-3': [FAIL], - 'language/expressions/object/11.1.5_4-4-d-4': [FAIL], + # https://code.google.com/p/v8/issues/detail?id=4093 ######################## NEEDS INVESTIGATION ########################### @@ -144,30 +78,31 @@ 'intl402/9.2.1_2': [FAIL], 'intl402/9.2.6_2': [FAIL], 'intl402/10.1.1_a': [FAIL], - 'intl402/10.1.1_19_c': [PASS, FAIL, NO_VARIANTS], '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_17': [PASS, FAIL], - 'intl402/11.1.1_19': [PASS, 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.2_FN_2': [PASS, FAIL], - 'intl402/11.3.2_TRF': [PASS, 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], - # Test 262 update 2015-03-11 - 'built-ins/Array/isArray/15.4.3.2-0-5': [FAIL], - 'built-ins/Array/prototype/S15.4.3.1_A5': [FAIL], - 'built-ins/Array/prototype/S15.4.4_A1.1_T2': [FAIL], - 'built-ins/Array/prototype/S15.4.4_A1.2_T1': [FAIL], - 'built-ins/Array/prototype/S15.4.4_A1.3_T1': [FAIL], + # Test 262 update 2015-06-11 + 'built-ins/Array/prototype/concat/Array.prototype.concat_non-array': [PASS, ['sloppy', FAIL]], '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], @@ -230,26 +165,85 @@ '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], + 'built-ins/Array/symbol-species': [FAIL], + + 'built-ins/ArrayBuffer/symbol-species': [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], + 'built-ins/Date/15.9.1.15-1': [FAIL], 'built-ins/Date/prototype/setFullYear/15.9.5.40_1': [FAIL], + 'built-ins/Error/prototype/S15.11.4_A2': [FAIL], - 'built-ins/Object/defineProperty/15.2.3.6-4-293-4': [FAIL], + + # https://code.google.com/p/v8/issues/detail?id=4163 + 'built-ins/GeneratorPrototype/next/context-constructor-invocation': [FAIL], + + 'built-ins/Map/symbol-species': [FAIL], + 'built-ins/Set/symbol-species': [FAIL], + + # https://code.google.com/p/v8/issues/detail?id=3566 + 'built-ins/Set/set-iterator-close-after-add-failure': [FAIL], + + # Our values are inconsistent across backends + '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], + '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/Promise/S25.4.3.1_A5.1_T2': [FAIL], - 'built-ins/Promise/prototype/then/S25.4.2.1_A3.1_T2': [FAIL], - 'built-ins/Promise/prototype/then/S25.4.2.1_A3.2_T2': [FAIL], + 'built-ins/Promise/race/S25.4.4.3_A3.1_T2': [FAIL], 'built-ins/Promise/reject/S25.4.4.4_A3.1_T1': [FAIL], + 'built-ins/Promise/symbol-species': [FAIL], + + '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], 'built-ins/RegExp/prototype/15.10.6': [FAIL], + 'built-ins/RegExp/prototype/exec/S15.10.6.2_A5_T3': [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], @@ -264,276 +258,331 @@ '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], + 'built-ins/RegExp/symbol-species': [FAIL], + '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], 'built-ins/String/prototype/split/S15.5.4.14_A2_T37': [FAIL], - 'intl402/10.1_L15': [FAIL], - 'intl402/10.2.2_L15': [FAIL], - 'intl402/10.3.2_1_a_L15': [FAIL], - 'intl402/10.3.2_L15': [FAIL], - 'intl402/10.3.3_L15': [FAIL], - 'intl402/11.1_L15': [FAIL], - 'intl402/11.2.2_L15': [FAIL], - 'intl402/11.3.2_1_a_L15': [FAIL], - 'intl402/11.3.2_L15': [FAIL], - 'intl402/11.3.3_L15': [FAIL], - 'intl402/12.1_L15': [FAIL], - 'intl402/12.2.2_L15': [FAIL], - 'intl402/12.3.2_1_a_L15': [FAIL], - 'intl402/12.3.2_L15': [FAIL], - 'intl402/12.3.3_L15': [FAIL], - 'intl402/13.1.1_L15': [FAIL], - 'intl402/13.2.1_L15': [FAIL], - 'intl402/13.3.1_L15': [FAIL], - 'intl402/13.3.2_L15': [FAIL], - 'intl402/13.3.3_L15': [FAIL], - 'language/class/arguments/access': [FAIL], - 'language/class/arguments/default-constructor': [FAIL], - 'language/class/definition/accessors': [FAIL], - 'language/class/definition/basics': [FAIL], - 'language/class/definition/constructable-but-no-prototype': [FAIL], - 'language/class/definition/constructor': [FAIL], - 'language/class/definition/constructor-property': [FAIL], - 'language/class/definition/constructor-strict-by-default': [FAIL], - 'language/class/definition/getters': [FAIL], - 'language/class/definition/getters-2': [FAIL], - 'language/class/definition/implicit-constructor': [FAIL], - 'language/class/definition/invalid-extends': [FAIL], - 'language/class/definition/methods': [FAIL], - 'language/class/definition/methods-named-eval-arguments': [FAIL], - 'language/class/definition/numeric-property-names': [FAIL], - 'language/class/definition/prototype-getter': [FAIL], - 'language/class/definition/prototype-property': [FAIL], - 'language/class/definition/prototype-setter': [FAIL], - 'language/class/definition/prototype-wiring': [FAIL], - 'language/class/definition/setters': [FAIL], - 'language/class/definition/setters-2': [FAIL], - 'language/class/definition/side-effects-in-extends': [FAIL], - 'language/class/definition/side-effects-in-property-define': [FAIL], - 'language/class/definition/this-access-restriction': [FAIL], - 'language/class/definition/this-access-restriction-2': [FAIL], - 'language/class/definition/this-check-ordering': [FAIL], - 'language/class/name-binding/basic': [FAIL], - 'language/class/name-binding/const': [FAIL], - 'language/class/name-binding/expression': [FAIL], - 'language/class/strict-mode/arguments-caller': [FAIL], - 'language/class/subclass/binding': [FAIL], - 'language/class/subclass/builtins': [FAIL], - 'language/class/subclass/default-constructor': [FAIL], - 'language/class/subclass/default-constructor-2': [FAIL], - 'language/class/subclass/null': [FAIL], - 'language/class/subclass/superclass-prototype-setter-constructor': [FAIL], - 'language/class/subclass/superclass-prototype-setter-method-override': [FAIL], - 'language/class/subclass/superclass-static-method-override': [FAIL], - 'language/class/super/in-constructor': [FAIL], - 'language/class/super/in-getter': [FAIL], - 'language/class/super/in-methods': [FAIL], - 'language/class/super/in-setter': [FAIL], - 'language/class/super/in-static-getter': [FAIL], - 'language/class/super/in-static-methods': [FAIL], - 'language/class/super/in-static-setter': [FAIL], - 'language/expressions/assignment/S11.13.1_A5_T1': [FAIL], - 'language/expressions/assignment/S11.13.1_A5_T2': [FAIL], - 'language/expressions/assignment/S11.13.1_A5_T3': [FAIL], - 'language/expressions/assignment/S11.13.1_A5_T4': [FAIL], - 'language/expressions/assignment/S11.13.1_A5_T5': [FAIL], - 'language/expressions/assignment/S11.13.1_A6_T1': [FAIL], - 'language/expressions/assignment/S11.13.1_A6_T2': [FAIL], - 'language/expressions/assignment/S11.13.1_A6_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.10_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.10_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.10_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.10_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.10_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.11_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.11_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.11_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.11_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.11_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.1_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.1_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.1_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.1_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.1_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.2_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.2_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.2_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.2_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.2_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.3_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.3_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.3_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.3_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.3_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.4_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.4_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.4_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.4_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.4_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.5_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.5_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.5_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.5_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.5_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.6_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.6_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.6_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.6_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.6_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.7_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.7_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.7_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.7_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.7_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.8_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.8_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.8_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.8_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.8_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.9_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.9_T2': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.9_T3': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.9_T4': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A5.9_T5': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.10_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.11_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.1_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.2_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.3_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.4_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.5_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.6_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.7_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.8_T1': [FAIL], - 'language/expressions/compound-assignment/S11.13.2_A6.9_T1': [FAIL], - 'language/expressions/postfix-decrement/S11.3.2_A5_T1': [FAIL], - 'language/expressions/postfix-decrement/S11.3.2_A5_T2': [FAIL], - 'language/expressions/postfix-decrement/S11.3.2_A5_T3': [FAIL], - 'language/expressions/postfix-decrement/S11.3.2_A5_T4': [FAIL], - 'language/expressions/postfix-decrement/S11.3.2_A5_T5': [FAIL], + + 'built-ins/Symbol/auto-boxing-strict': [FAIL], + 'built-ins/Symbol/species/basic': [FAIL], + 'built-ins/Symbol/species/builtin-getter-name': [FAIL], + 'built-ins/Symbol/species/subclassing': [FAIL], + + 'language/asi/S7.9_A5.7_T1': [PASS, FAIL_OK], + 'language/class/*': [PASS, ['sloppy', FAIL]], + 'language/computed-property-names/class/*': [PASS, ['sloppy', FAIL]], + 'language/computed-property-names/to-name-side-effects/class': [PASS, ['sloppy', FAIL]], + 'language/computed-property-names/to-name-side-effects/numbers-class': [PASS, ['sloppy', FAIL]], + + # new.target + 'language/expressions/arrow-function/lexical-new.target': [FAIL], + 'language/expressions/arrow-function/lexical-new.target-closure-returned': [FAIL], + + 'language/expressions/arrow-function/lexical-super-call-from-within-constructor':[PASS, ['sloppy', FAIL]], + 'language/expressions/arrow-function/lexical-super-property': [PASS, ['sloppy', FAIL]], + 'language/expressions/arrow-function/lexical-super-property-from-within-constructor': [PASS, ['sloppy', FAIL]], + 'language/expressions/arrow-function/lexical-supercall-from-immediately-invoked-arrow': [PASS, ['sloppy', FAIL]], + + # Default params + 'language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-1': [FAIL], + 'language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2': [FAIL], + + 'language/expressions/assignment/S11.13.1_A5*': [FAIL], + 'language/expressions/assignment/S11.13.1_A6*': [FAIL], + '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/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], + + 'language/expressions/generators/implicit-name': [FAIL], + 'language/expressions/generators/name-property-descriptor': [FAIL], + '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/generator-shadow-parameter-const': [PASS, ['sloppy', FAIL]], + 'language/expressions/object/method-definition/yield-as-function-expression-binding-identifier': [FAIL], + 'language/expressions/object/prop-def-id-eval-error-2': [FAIL], + '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/prefix-decrement/S11.4.5_A5_T1': [FAIL], - 'language/expressions/prefix-decrement/S11.4.5_A5_T2': [FAIL], - 'language/expressions/prefix-decrement/S11.4.5_A5_T3': [FAIL], - 'language/expressions/prefix-decrement/S11.4.5_A5_T4': [FAIL], - 'language/expressions/prefix-decrement/S11.4.5_A5_T5': [FAIL], - 'language/expressions/prefix-increment/S11.4.4_A5_T1': [FAIL], - 'language/expressions/prefix-increment/S11.4.4_A5_T2': [FAIL], - 'language/expressions/prefix-increment/S11.4.4_A5_T3': [FAIL], - 'language/expressions/prefix-increment/S11.4.4_A5_T4': [FAIL], - 'language/expressions/prefix-increment/S11.4.4_A5_T5': [FAIL], - 'language/expressions/property-accessors/S11.2.1_A4_T5': [FAIL], - 'language/generators/generator.declareMethod.argSuperProperty': [FAIL], - 'language/generators/generator.declareMethod.shadow-parameter-const': [FAIL], - 'language/generators/generator.expression.implicit-name': [FAIL], + 'language/expressions/postfix-increment/S11.3.1_A6_T3': [FAIL], + 'language/expressions/postfix-decrement/S11.3.2_A5_*': [FAIL], + 'language/expressions/postfix-decrement/S11.3.2_A6_T3': [FAIL], - # Test 262 update 2015-03-31 - 'built-ins/Symbol/species/Symbol.species.builtin-getter-name': [FAIL], - 'built-ins/Symbol/species/Symbol.species.exists': [FAIL], - 'built-ins/Symbol/species/Symbol.species.in_Array': [FAIL], - 'built-ins/Symbol/species/Symbol.species.in_ArrayBuffer': [FAIL], - 'built-ins/Symbol/species/Symbol.species.in_Map': [FAIL], - 'built-ins/Symbol/species/Symbol.species.in_Promise': [FAIL], - 'built-ins/Symbol/species/Symbol.species.in_RegExp': [FAIL], - 'built-ins/Symbol/species/Symbol.species.in_Set': [FAIL], - 'built-ins/Symbol/species/Symbol.species.notChangedByExtends': [FAIL], - 'language/asi/S7.9_A5.7_T1': [PASS, FAIL_OK], - 'language/block-scope/leave/finally-block-let-declaration-only-shadows-outer-parameter-value-1': [FAIL], - 'language/block-scope/leave/finally-block-let-declaration-only-shadows-outer-parameter-value-2': [FAIL], - 'language/block-scope/leave/for-loop-block-let-declaration-only-shadows-outer-parameter-value-1': [FAIL], - 'language/block-scope/leave/for-loop-block-let-declaration-only-shadows-outer-parameter-value-2': [FAIL], - 'language/block-scope/leave/nested-block-let-declaration-only-shadows-outer-parameter-value-1': [FAIL], - 'language/block-scope/leave/nested-block-let-declaration-only-shadows-outer-parameter-value-2': [FAIL], - 'language/block-scope/leave/outermost-binding-updated-in-catch-block-nested-block-let-declaration-unseen-outside-of-block': [FAIL], - 'language/block-scope/leave/try-block-let-declaration-only-shadows-outer-parameter-value-1': [FAIL], - 'language/block-scope/leave/try-block-let-declaration-only-shadows-outer-parameter-value-2': [FAIL], - 'language/block-scope/leave/verify-context-in-finally-block': [FAIL], - 'language/block-scope/leave/verify-context-in-for-loop-block': [FAIL], - 'language/block-scope/leave/verify-context-in-labelled-block': [FAIL], - 'language/block-scope/leave/verify-context-in-try-block': [FAIL], - 'language/block-scope/leave/x-after-break-to-label': [FAIL], - 'language/block-scope/leave/x-before-continue': [FAIL], - 'language/block-scope/return-from/block-let': [FAIL], - 'language/block-scope/semantics/const/block-local-closure-get-before-initialization': [FAIL], - 'language/block-scope/semantics/const/block-local-use-before-initialization-in-declaration-statement': [FAIL], - 'language/block-scope/semantics/const/block-local-use-before-initialization-in-prior-statement': [FAIL], - 'language/block-scope/semantics/const/function-local-closure-get-before-initialization': [FAIL], - 'language/block-scope/semantics/const/function-local-use-before-initialization-in-declaration-statement': [FAIL], - 'language/block-scope/semantics/const/function-local-use-before-initialization-in-prior-statement': [FAIL], - 'language/block-scope/semantics/const/global-closure-get-before-initialization': [FAIL], - 'language/block-scope/semantics/const/global-use-before-initialization-in-declaration-statement': [FAIL], - 'language/block-scope/semantics/const/global-use-before-initialization-in-prior-statement': [FAIL], - 'language/block-scope/shadowing/catch-parameter-shadowing-let-declaration': [FAIL], - 'language/block-scope/shadowing/const-declaration-shadowing-catch-parameter': [FAIL], - 'language/block-scope/shadowing/const-declarations-shadowing-parameter-name-let-const-and-var-variables': [FAIL], - 'language/block-scope/shadowing/dynamic-lookup-from-closure': [FAIL], - 'language/block-scope/shadowing/dynamic-lookup-in-and-through-block-contexts': [FAIL], - 'language/block-scope/shadowing/let-declaration-shadowing-catch-parameter': [FAIL], - 'language/block-scope/shadowing/let-declarations-shadowing-parameter-name-let-const-and-var': [FAIL], - 'language/block-scope/shadowing/lookup-from-closure': [FAIL], - 'language/block-scope/shadowing/lookup-in-and-through-block-contexts': [FAIL], - 'language/block-scope/shadowing/parameter-name-shadowing-parameter-name-let-const-and-var': [FAIL], - 'language/block-scope/syntax/const-declaration/block-scope-syntax-const-declarations-mixed-with-without-initialiser': [FAIL], - 'language/block-scope/syntax/const-declaration/block-scope-syntax-const-declarations-mixed-without-with-initialiser': [FAIL], - 'language/block-scope/syntax/const-declaration/block-scope-syntax-const-declarations-without-initialiser': [FAIL], - 'language/block-scope/syntax/const-declaration/with-initializer-do-statement-while-expression': [FAIL], - 'language/block-scope/syntax/const-declaration/with-initializer-for-statement': [FAIL], - 'language/block-scope/syntax/const-declaration/with-initializer-if-expression-statement': [FAIL], - 'language/block-scope/syntax/const-declaration/with-initializer-if-expression-statement-else-statement': [FAIL], - 'language/block-scope/syntax/const-declaration/with-initializer-label-statement': [FAIL], - 'language/block-scope/syntax/const-declaration/with-initializer-while-expression-statement': [FAIL], - 'language/block-scope/syntax/const-declaration/without-initializer-case-expression-statement-list': [FAIL], - 'language/block-scope/syntax/const-declaration/without-initializer-default-statement-list': [FAIL], - 'language/block-scope/syntax/const-declaration/without-initializer-do-statement-while-expression': [FAIL], - 'language/block-scope/syntax/const-declaration/without-initializer-for-statement': [FAIL], - 'language/block-scope/syntax/const-declaration/without-initializer-if-expression-statement': [FAIL], - 'language/block-scope/syntax/const-declaration/without-initializer-if-expression-statement-else-statement': [FAIL], - 'language/block-scope/syntax/const-declaration/without-initializer-label-statement': [FAIL], - 'language/block-scope/syntax/const-declaration/without-initializer-while-expression-statement': [FAIL], - 'language/block-scope/syntax/for-in/acquire-properties-from-array': [FAIL], - 'language/block-scope/syntax/for-in/acquire-properties-from-object': [FAIL], - 'language/block-scope/syntax/for-in/missing-identifier-let-disallowed-as-bound-name': [FAIL], - 'language/block-scope/syntax/for-loop/const-invalid-assignment-next-expression': [SKIP], # iloops - 'language/block-scope/syntax/for-loop/const-outer-inner-let-bindings': [FAIL], - 'language/block-scope/syntax/for-loop/let-closure-inside-condition': [FAIL], - 'language/block-scope/syntax/for-loop/let-closure-inside-initialization': [FAIL], - 'language/block-scope/syntax/for-loop/let-closure-inside-next-expression': [FAIL], - 'language/block-scope/syntax/for-loop/let-iteration-variable-is-freshly-allocated-for-each-iteration-multi-let-binding': [FAIL], - 'language/block-scope/syntax/for-loop/let-iteration-variable-is-freshly-allocated-for-each-iteration-single-let-binding': [FAIL], - 'language/block-scope/syntax/for-loop/let-outer-inner-let-bindings': [FAIL], - 'language/block-scope/syntax/function-declarations/in-statement-position-do-statement-while-expression': [FAIL], - 'language/block-scope/syntax/function-declarations/in-statement-position-for-statement': [FAIL], - 'language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement': [FAIL], - 'language/block-scope/syntax/function-declarations/in-statement-position-if-expression-statement-else-statement': [FAIL], - 'language/block-scope/syntax/function-declarations/in-statement-position-while-expression-statement': [FAIL], - 'language/block-scope/syntax/global-and-block/const': [FAIL], - 'language/block-scope/syntax/global-and-block/let': [FAIL], - 'language/block-scope/syntax/let-declarations/with-initialisers-in-statement-positions-case-expression-statement-list': [FAIL], - 'language/block-scope/syntax/let-declarations/with-initialisers-in-statement-positions-default-statement-list': [FAIL], - 'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-function-declaration': [FAIL], - 'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-var': [FAIL], - 'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-var-with-function-declaration': [FAIL], - 'language/computed-property-names/class/method/constructor-can-be-generator': [FAIL], - 'language/computed-property-names/class/method/constructor-can-be-getter': [FAIL], - 'language/computed-property-names/class/method/constructor-can-be-setter': [FAIL], - 'language/computed-property-names/class/method/constructor-duplicate-1': [FAIL], - 'language/computed-property-names/class/method/constructor-duplicate-2': [FAIL], - 'language/computed-property-names/class/method/constructor-duplicate-3': [FAIL], - 'language/computed-property-names/class/static/generator-constructor': [FAIL], - 'language/computed-property-names/class/static/generator-prototype': [FAIL], - 'language/computed-property-names/class/static/getter-constructor': [FAIL], - 'language/computed-property-names/class/static/getter-prototype': [FAIL], - 'language/computed-property-names/class/static/method-constructor': [FAIL], - 'language/computed-property-names/class/static/method-prototype': [FAIL], - 'language/computed-property-names/class/static/setter-constructor': [FAIL], - 'language/computed-property-names/class/static/setter-prototype': [FAIL], - 'language/for-of/iterator-as-proxy': [FAIL], - 'language/for-of/iterator-next-result-type': [FAIL], + 'language/expressions/prefix-decrement/S11.4.5_A5_*': [FAIL], + 'language/expressions/prefix-decrement/S11.4.5_A6_T3': [FAIL], + 'language/expressions/prefix-increment/S11.4.4_A5_*': [FAIL], + 'language/expressions/prefix-increment/S11.4.4_A6_T3': [FAIL], + + 'language/expressions/property-accessors/S11.2.1_A4_T5': [FAIL], + + 'language/rest-parameters/with-new-target': [PASS, ['sloppy', FAIL]], + + 'language/statements/class/*': [PASS, ['sloppy', FAIL]], + + 'language/statements/continue/labeled-continue': [PASS, ['sloppy', FAIL]], + 'language/statements/continue/nested-let-bound-for-loops-inner-continue': [PASS, ['sloppy', FAIL]], + 'language/statements/continue/nested-let-bound-for-loops-labeled-continue': [PASS, ['sloppy', FAIL]], + 'language/statements/continue/nested-let-bound-for-loops-outer-continue': [PASS, ['sloppy', FAIL]], + 'language/statements/continue/no-label-continue': [PASS, ['sloppy', FAIL]], + 'language/statements/continue/shadowing-loop-variable-in-same-scope-as-continue': [PASS, ['sloppy', FAIL]], + 'language/statements/continue/simple-and-labeled': [PASS, ['sloppy', FAIL]], + + 'language/statements/for-in/const-bound-names-fordecl-tdz-for-in': [PASS, ['sloppy', FAIL]], + 'language/statements/for-in/const-fresh-binding-per-iteration-for-in': [PASS, ['sloppy', FAIL]], + 'language/statements/for-in/let-bound-names-fordecl-tdz-for-in': [PASS, ['sloppy', FAIL]], + 'language/statements/for-in/let-fresh-binding-per-iteration-for-in': [PASS, ['sloppy', FAIL]], + 'language/statements/for-of/const-bound-names-fordecl-tdz-for-of': [PASS, ['sloppy', FAIL]], + 'language/statements/for-of/const-fresh-binding-per-iteration-for-of': [PASS, ['sloppy', FAIL]], + 'language/statements/for-of/iterator-as-proxy': [FAIL], + 'language/statements/for-of/iterator-next-result-type': [FAIL], + 'language/statements/for-of/let-bound-names-fordecl-tdz-for-of': [PASS, ['sloppy', FAIL]], + 'language/statements/for-of/let-fresh-binding-per-iteration-for-of': [PASS, ['sloppy', 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], + + 'language/statements/for/const-fresh-binding-per-iteration-for': [PASS, ['sloppy', FAIL]], + 'language/statements/for/let-fresh-binding-per-iteration-for': [PASS, ['sloppy', FAIL]], + + 'language/statements/generators/yield-as-function-expression-binding-identifier': [FAIL], + + 'language/statements/let/syntax/*': [PASS, ['sloppy', FAIL]], + + 'language/statements/const/syntax/const-invalid-assignment-next-expression-for': [PASS, 'sloppy', TIMEOUT], + + 'language/statements/const/block-local-closure-get-before-initialization': [PASS, ['sloppy', FAIL]], + 'language/statements/const/block-local-use-before-initialization-in-declaration-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/block-local-use-before-initialization-in-prior-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/function-local-closure-get-before-initialization': [PASS, ['sloppy', FAIL]], + 'language/statements/const/function-local-use-before-initialization-in-declaration-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/function-local-use-before-initialization-in-prior-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/global-closure-get-before-initialization': [PASS, ['sloppy', FAIL]], + 'language/statements/const/global-use-before-initialization-in-declaration-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/global-use-before-initialization-in-prior-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-with-without-initialiser': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/block-scope-syntax-const-declarations-mixed-without-with-initialiser': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/block-scope-syntax-const-declarations-without-initialiser': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/const': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/const-invalid-assignment-statement-body-for-in': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/const-invalid-assignment-statement-body-for-of': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/const-outer-inner-let-bindings': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/with-initializer-do-statement-while-expression': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/with-initializer-for-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/with-initializer-if-expression-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/with-initializer-if-expression-statement-else-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/with-initializer-label-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/with-initializer-while-expression-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/without-initializer-case-expression-statement-list': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/without-initializer-default-statement-list': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/without-initializer-do-statement-while-expression': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/without-initializer-for-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/without-initializer-if-expression-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/without-initializer-if-expression-statement-else-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/without-initializer-label-statement': [PASS, ['sloppy', FAIL]], + 'language/statements/const/syntax/without-initializer-while-expression-statement': [PASS, ['sloppy', FAIL]], + + + # We do not expose Array.prototype.values + 'built-ins/Array/prototype/Symbol.iterator': [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], + + # 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 ##################### @@ -568,41 +617,25 @@ '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], - # # String.prototype.contains renamed to 'S.p.includes' - # 'es6/String.prototype.contains/String.prototype.contains_FailBadLocation' : [FAIL_OK], - # 'es6/String.prototype.contains/String.prototype.contains_FailLocation' : [FAIL_OK], - # 'es6/String.prototype.contains/String.prototype.contains_FailMissingLetter' : [FAIL_OK], - # 'es6/String.prototype.contains/String.prototype.contains_lengthProp' : [FAIL_OK], - # 'es6/String.prototype.contains/String.prototype.contains_Success' : [FAIL_OK], - # 'es6/String.prototype.contains/String.prototype.contains_SuccessNoLocation' : [FAIL_OK], - - # Function restricted "caller" and "arguments" properties are defined only on - # the intrinsic %FunctionPrototype% (and sloppy functions) in ES6 - 'language/statements/function/13.2-29-s': [FAIL_OK], - 'language/statements/function/13.2-30-s': [FAIL_OK], - 'language/statements/function/13.2-31-s': [FAIL_OK], - 'language/statements/function/13.2-32-s': [FAIL_OK], - 'language/statements/function/13.2-33-s': [FAIL_OK], - 'language/statements/function/13.2-34-s': [FAIL_OK], - 'language/statements/function/13.2-35-s': [FAIL_OK], - 'language/statements/function/13.2-36-s': [FAIL_OK], - 'language/statements/function/S13.2.3_A1': [FAIL_OK], - 'built-ins/Function/prototype/bind/15.3.4.5-20-1': [FAIL_OK], - 'built-ins/Function/prototype/bind/15.3.4.5-20-4': [FAIL_OK], - 'built-ins/Function/prototype/bind/15.3.4.5-20-5': [FAIL_OK], - 'built-ins/Function/prototype/bind/15.3.4.5-21-1': [FAIL_OK], - 'built-ins/Function/prototype/bind/15.3.4.5-21-4': [FAIL_OK], - 'built-ins/Function/prototype/bind/15.3.4.5-21-5': [FAIL_OK], - - # These invalid tests have been fixed upstream. - 'built-ins/Array/prototype/find/Array.prototype.find_remove-after-start': [FAIL], - 'built-ins/Function/prototype/bind/15.3.4.5-15-2': [FAIL], - ############################ SKIPPED TESTS ############################# - # These tests take a looong time to run in debug mode. - 'built-ins/decodeURI/S15.1.3.1_A2.5_T1': [PASS, ['mode == debug', SKIP]], - 'built-ins/decodeURIComponent/S15.1.3.2_A2.5_T1': [PASS, ['mode == debug', SKIP]], + # 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', { diff --git a/test/test262-es6/testcfg.py b/test/test262-es6/testcfg.py index bdfe0949f4..e5fb22565f 100644 --- a/test/test262-es6/testcfg.py +++ b/test/test262-es6/testcfg.py @@ -37,8 +37,9 @@ from testrunner.local import testsuite from testrunner.local import utils from testrunner.objects import testcase -TEST_262_ARCHIVE_REVISION = "43acf61" # This is the 2015-03-31 revision. -TEST_262_ARCHIVE_MD5 = "a77a0352a0462be98e50522a15b7a3c4" +# The revision hash needs to be 7 characters? +TEST_262_ARCHIVE_REVISION = "488c0a7" # This is the 2015-06-11 revision. +TEST_262_ARCHIVE_MD5 = "f7d4ec9be81f1e1f10fd8a61c71baead" TEST_262_URL = "https://github.com/tc39/test262/tarball/%s" TEST_262_HARNESS_FILES = ["sta.js", "assert.js"] @@ -79,6 +80,16 @@ class Test262TestSuite(testsuite.TestSuite): self.GetIncludesForTest(testcase) + ["--harmony"] + [os.path.join(self.testroot, testcase.path + ".js")]) + def VariantFlags(self, testcase, default_flags): + flags = super(Test262TestSuite, self).VariantFlags(testcase, default_flags) + test_record = self.GetTestRecord(testcase) + if "noStrict" in test_record: + return flags + strict_flags = [f + ["--use-strict"] for f in flags] + if "onlyStrict" in test_record: + return strict_flags + return flags + strict_flags + def LoadParseTestRecord(self): if not self.ParseTestRecord: root = os.path.join(self.root, *TEST_262_TOOLS_PATH) diff --git a/tools/testrunner/local/statusfile.py b/tools/testrunner/local/statusfile.py index aa667f6ef3..a89732cc14 100644 --- a/tools/testrunner/local/statusfile.py +++ b/tools/testrunner/local/statusfile.py @@ -57,7 +57,8 @@ for var in ["debug", "release", "big", "little", "android_arm", "android_arm64", "android_ia32", "android_x87", "android_x64", "arm", "arm64", "ia32", "mips", "mipsel", "mips64el", "x64", "x87", "nacl_ia32", "nacl_x64", "ppc", "ppc64", - "macos", "windows", "linux", "aix"]: + "macos", "windows", "linux", "aix", + "strict", "sloppy"]: VARIABLES[var] = var