# 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, { ###################### NEEDS INVESTIGATION ####################### # 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 ####################### # 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], # 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://bugs.chromium.org/p/v8/issues/detail?id=4709 'built-ins/Proxy/revocable/revocation-function-name': [FAIL], 'language/expressions/assignment/fn-name-lhs-cover': [FAIL], 'language/expressions/assignment/fn-name-lhs-member': [FAIL], 'language/expressions/class/name': [FAIL], 'language/expressions/function/name': [FAIL], 'language/expressions/generators/name': [FAIL], 'intl402/NumberFormat/prototype/format/format-function-name': [FAIL], 'intl402/DateTimeFormat/prototype/format/format-function-name': [FAIL], 'intl402/Collator/prototype/compare/compare-function-name': [FAIL], # https://bugs.chromium.org/p/v8/issues/detail?id=4778 'intl402/Collator/prototype/compare/name': [FAIL], 'intl402/DateTimeFormat/prototype/format/name': [FAIL], 'intl402/NumberFormat/prototype/format/name': [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], # https://code.google.com/p/v8/issues/detail?id=4602 'built-ins/RegExp/prototype/exec/get-sticky-coerce': [FAIL], 'built-ins/RegExp/prototype/exec/get-sticky-err': [FAIL], 'built-ins/RegExp/prototype/test/get-sticky-err': [FAIL], # https://code.google.com/p/v8/issues/detail?id=4305 # SKIP rather than FAIL some tests, as they may check for an exception which # happens to be thrown for some other reason (e.g, # built-ins/RegExp/prototype/Symbol.match/builtin-failure-set-lastindex-err) 'built-ins/RegExp/prototype/Symbol.match/*': [SKIP], # https://code.google.com/p/v8/issues/detail?id=4343 'built-ins/RegExp/prototype/Symbol.replace/*': [SKIP], # https://code.google.com/p/v8/issues/detail?id=4344 'built-ins/RegExp/prototype/Symbol.search/*': [SKIP], # https://code.google.com/p/v8/issues/detail?id=4345 'built-ins/RegExp/prototype/Symbol.split/*': [SKIP], # https://code.google.com/p/v8/issues/detail?id=4360 'intl402/Collator/10.1.1_1': [FAIL], 'intl402/DateTimeFormat/12.1.1_1': [FAIL], 'intl402/NumberFormat/11.1.1_1': [FAIL], # https://code.google.com/p/v8/issues/detail?id=4361 'intl402/Collator/10.1.1_a': [FAIL], # https://code.google.com/p/v8/issues/detail?id=4476 'built-ins/String/prototype/toLocaleLowerCase/special_casing_conditional': [FAIL], 'built-ins/String/prototype/toLocaleLowerCase/supplementary_plane': [FAIL], 'built-ins/String/prototype/toLowerCase/special_casing_conditional': [FAIL], 'built-ins/String/prototype/toLowerCase/supplementary_plane': [FAIL], 'built-ins/String/prototype/toLocaleUpperCase/supplementary_plane': [FAIL], 'built-ins/String/prototype/toUpperCase/supplementary_plane': [FAIL], # https://code.google.com/p/v8/issues/detail?id=4477 'intl402/String/prototype/toLocaleLowerCase/special_casing_Azeri': [FAIL], 'intl402/String/prototype/toLocaleLowerCase/special_casing_Lithuanian': [FAIL], 'intl402/String/prototype/toLocaleLowerCase/special_casing_Turkish': [FAIL], 'intl402/String/prototype/toLocaleUpperCase/special_casing_Azeri': [FAIL], 'intl402/String/prototype/toLocaleUpperCase/special_casing_Lithuanian': [FAIL], 'intl402/String/prototype/toLocaleUpperCase/special_casing_Turkish': [FAIL], # https://bugs.chromium.org/p/v8/issues/detail?id=4628 'language/eval-code/non-definable-function-with-variable': [FAIL], 'language/eval-code/non-definable-function-with-function': [FAIL], # https://bugs.chromium.org/p/v8/issues/detail?id=4592 'built-ins/ArrayBuffer/length-is-absent': [FAIL], 'built-ins/ArrayBuffer/length-is-not-number': [FAIL], 'built-ins/ArrayBuffer/positive-integer-length': [FAIL], 'language/statements/class/subclass/builtin-objects/ArrayBuffer/regular-subclassing': [FAIL], # https://bugs.chromium.org/p/v8/issues/detail?id=4633 'built-ins/Promise/reject-function-name': [FAIL], 'built-ins/Promise/resolve-function-name': [FAIL], 'built-ins/Promise/all/resolve-element-function-name': [FAIL], 'built-ins/Promise/executor-function-name': [FAIL], # https://bugs.chromium.org/p/v8/issues/detail?id=4634 'built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion': [FAIL], 'built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion': [FAIL], 'built-ins/DataView/prototype/setInt16/index-check-before-value-conversion': [FAIL], 'built-ins/DataView/prototype/setInt32/index-check-before-value-conversion': [FAIL], 'built-ins/DataView/prototype/setUint16/index-check-before-value-conversion': [FAIL], 'built-ins/DataView/prototype/setUint32/index-check-before-value-conversion': [FAIL], 'built-ins/DataView/prototype/setUint8/index-check-before-value-conversion': [FAIL], 'built-ins/DataView/prototype/setInt8/index-check-before-value-conversion': [FAIL], # https://bugs.chromium.org/p/v8/issues/detail?id=4706 'language/statements/class/subclass/builtin-objects/NativeError/EvalError-message': [FAIL], 'language/statements/class/subclass/builtin-objects/NativeError/RangeError-message': [FAIL], 'language/statements/class/subclass/builtin-objects/NativeError/ReferenceError-message': [FAIL], 'language/statements/class/subclass/builtin-objects/NativeError/SyntaxError-message': [FAIL], 'language/statements/class/subclass/builtin-objects/NativeError/TypeError-message': [FAIL], 'language/statements/class/subclass/builtin-objects/NativeError/URIError-message': [FAIL], 'language/statements/class/subclass/builtin-objects/Error/message-property-assignment': [FAIL], # https://code.google.com/p/chromium/issues/detail?id=581577 'built-ins/RegExp/prototype/source/15.10.7.1-1': [FAIL], 'built-ins/RegExp/prototype/global/15.10.7.2-1': [FAIL], 'built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1': [FAIL], 'built-ins/RegExp/prototype/multiline/15.10.7.4-1': [FAIL], # https://bugs.chromium.org/p/v8/issues/detail?id=4727 'built-ins/TypedArrays/length-arg-is-undefined-throws': [FAIL], 'built-ins/TypedArrays/length-arg-is-symbol-throws': [FAIL], 'built-ins/TypedArrays/length-arg-is-float-throws-rangeerror': [FAIL], 'built-ins/TypedArrays/length-arg-is-nan-throws-rangeerror': [FAIL], # https://bugs.chromium.org/p/v8/issues/detail?id=4784 'built-ins/TypedArrays/buffer-arg-defined-negative-length': [FAIL], ######################## 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. # Some of these are related to v8:4361 in being visible side effects from Intl. 'intl402/6.2.3': [FAIL], 'intl402/9.2.1_2': [FAIL], 'intl402/9.2.6_2': [FAIL], 'intl402/Collator/10.1.2.1_4': [FAIL], 'intl402/Collator/10.1.2_a': [PASS, FAIL], 'intl402/Collator/10.2.3_b': [PASS, FAIL], 'intl402/Collator/prototype/10.3_a': [FAIL], 'intl402/DateTimeFormat/12.1.1': [FAIL], 'intl402/DateTimeFormat/12.1.1_a': [FAIL], 'intl402/DateTimeFormat/12.1.2': [PASS, FAIL], 'intl402/DateTimeFormat/12.1.2.1_4': [FAIL], 'intl402/DateTimeFormat/12.2.3_b': [FAIL], 'intl402/DateTimeFormat/prototype/12.3_a': [FAIL], 'intl402/Number/prototype/toLocaleString/13.2.1_5': [PASS, FAIL], 'intl402/NumberFormat/11.1.1_20_c': [FAIL], 'intl402/NumberFormat/11.1.1_a': [FAIL], 'intl402/NumberFormat/11.1.2': [PASS, FAIL], 'intl402/NumberFormat/11.1.2.1_4': [FAIL], 'intl402/NumberFormat/11.2.3_b': [FAIL], 'intl402/NumberFormat/prototype/11.3_a': [FAIL], 'intl402/String/prototype/localeCompare/13.1.1_7': [PASS, FAIL], ##################### DELIBERATE INCOMPATIBILITIES ##################### # https://code.google.com/p/v8/issues/detail?id=4693 'language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-function-declaration': [PASS, FAIL_SLOPPY], ############################ 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], # Test bug https://github.com/tc39/test262/issues/518 'built-ins/TypedArrays/object-arg-throws-setting-typedarray-property': [FAIL], 'built-ins/Object/getOwnPropertyDescriptors/duplicate-keys': [FAIL], 'built-ins/Object/getOwnPropertyDescriptors/symbols-included': [FAIL], # Test bug https://github.com/tc39/test262/issues/521 'built-ins/TypedArray/from/mapfn-is-not-callable': [FAIL], # Test bug https://github.com/tc39/test262/issues/529 'built-ins/Math/cos/S15.8.2.7_A7': [PASS, FAIL_OK], '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/exp/S15.8.2.8_A6': [PASS, FAIL_OK], # Math.exp (less precise with --fast-math) ############################ 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], 'built-ins/Array/prototype/slice/S15.4.4.10_A3_T1': [SKIP], 'built-ins/Array/prototype/slice/S15.4.4.10_A3_T2': [SKIP], }], # ALWAYS ['system == linux', { # BUG(v8:4437). 'intl402/Collator/10.1.1_19_c': [PASS, FAIL], 'intl402/Collator/9.2.5_11_g_ii_2': [PASS, FAIL], 'intl402/NumberFormat/11.1.1_17': [PASS, FAIL], 'intl402/NumberFormat/11.1.1_19': [PASS, FAIL], 'intl402/NumberFormat/prototype/format/11.3.2_TRF': [PASS, FAIL], 'intl402/NumberFormat/prototype/format/11.3.2_TRP': [PASS, FAIL], }], # system == linux ['system == macos', { # BUG(v8:4437). 'intl402/Collator/10.1.1_19_c': [SKIP], 'intl402/Collator/9.2.5_11_g_ii_2': [SKIP], 'intl402/NumberFormat/11.1.1_17': [SKIP], 'intl402/NumberFormat/11.1.1_19': [SKIP], 'intl402/NumberFormat/prototype/format/11.3.2_TRF': [SKIP], 'intl402/NumberFormat/prototype/format/11.3.2_TRP': [SKIP], }], # system == macos ['no_i18n == True', { # Unicode canonicalization is not available with i18n turned off. 'built-ins/String/prototype/localeCompare/15.5.4.9_CE': [SKIP], # Unicode regexp case mapping is not available with i18n turned off. 'language/literals/regexp/u-case-mapping': [SKIP], # BUG(v8:4437). 'built-ins/String/prototype/normalize/return-normalized-string': [SKIP], 'built-ins/String/prototype/normalize/return-normalized-string-from-coerced-form': [SKIP], 'built-ins/String/prototype/normalize/return-normalized-string-using-default-parameter': [SKIP], }], # no_i18n == True ['arch == arm or arch == mipsel or arch == mips or arch == arm64 or arch == mips64 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' ['asan == True', { # BUG(v8:4653): Test262 tests which rely on quit() are not compatible with # asan's --omit-quit flag. 'built-ins/Promise/prototype/then/deferred-is-resolved-value': [SKIP], }], # asan == True ['asan == True or msan == True or tsan == True', { # https://bugs.chromium.org/p/v8/issues/detail?id=4639 # The failed allocation causes an asan/msan/tsan error 'built-ins/ArrayBuffer/allocation-limit': [SKIP], }], # asan == True or msan == True or tsan == True ]