| |
| # 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 ################################### |
| |
| '15.5.4.9_CE': [['no_i18n', SKIP]], |
| |
| # BUG(v8:3455) |
| '11.2.3_b': [FAIL], |
| '12.2.3_b': [FAIL], |
| |
| ############################### ES6 ################################### |
| # ES6 allows block-local functions. |
| 'Sbp_A1_T1': [PASS, FAIL_OK], |
| 'Sbp_A2_T1': [PASS, FAIL_OK], |
| 'Sbp_A2_T2': [PASS, FAIL_OK], |
| 'Sbp_A3_T1': [PASS, FAIL_OK], |
| 'Sbp_A3_T2': [PASS, FAIL_OK], |
| 'Sbp_A4_T1': [PASS, FAIL_OK], |
| 'Sbp_A4_T2': [PASS, FAIL_OK], |
| 'Sbp_A5_T1': [PASS], # Test is broken (strict reference to unbound variable) |
| 'Sbp_A5_T2': [PASS, FAIL_OK], |
| |
| # Passes in ES6 since {__arr} syntax is parsed as object literal. |
| 'S12.1_A4_T2': [PASS, FAIL_OK], |
| 'S12.6.4_A15': [PASS, FAIL_OK], |
| |
| # ES6 allows duplicate properties |
| '11.1.5-4-4-a-1-s': [FAIL], |
| '11.1.5_4-4-b-1': [FAIL], |
| '11.1.5_4-4-b-2': [FAIL], |
| '11.1.5_4-4-c-1': [FAIL], |
| '11.1.5_4-4-c-2': [FAIL], |
| '11.1.5_4-4-d-1': [FAIL], |
| '11.1.5_4-4-d-2': [FAIL], |
| '11.1.5_4-4-d-3': [FAIL], |
| '11.1.5_4-4-d-4': [FAIL], |
| |
| # NativeError has Error as its [[Prototype]] |
| '15.2.3.2-2-12': [FAIL], |
| '15.2.3.2-2-13': [FAIL], |
| '15.2.3.2-2-14': [FAIL], |
| '15.2.3.2-2-15': [FAIL], |
| '15.2.3.2-2-16': [FAIL], |
| '15.2.3.2-2-17': [FAIL], |
| |
| # Function length properties are configurable in ES6 |
| '10.1_L15': [FAIL], |
| '10.2.2_L15': [FAIL], |
| '10.3.2_1_a_L15': [FAIL], |
| '10.3.2_L15': [FAIL], |
| '10.3.3_L15': [FAIL], |
| '11.1_L15': [FAIL], |
| '11.2.2_L15': [FAIL], |
| '11.3.2_1_a_L15': [FAIL], |
| '11.3.2_L15': [FAIL], |
| '11.3.3_L15': [FAIL], |
| '11.4.1-5-a-28-s': [FAIL], |
| '12.1_L15': [FAIL], |
| '12.2.2_L15': [FAIL], |
| '12.3.2_1_a_L15': [FAIL], |
| '12.3.2_L15': [FAIL], |
| '12.3.3_L15': [FAIL], |
| '13.1.1_L15': [FAIL], |
| '13.2-15-1': [FAIL], |
| '13.2.1_L15': [FAIL], |
| '13.3.1_L15': [FAIL], |
| '13.3.2_L15': [FAIL], |
| '13.3.3_L15': [FAIL], |
| '15.2.3.3-4-186': [FAIL], |
| '15.2.3.3-4-187': [FAIL], |
| '15.2.3.3-4-191': [FAIL], |
| '15.2.3.3-4-194': [FAIL], |
| '15.2.3.3-4-201': [FAIL], |
| '15.3.3.2-1': [FAIL], |
| 'S15.1.2.1_A4.2': [FAIL], |
| 'S15.1.2.2_A9.2': [FAIL], |
| 'S15.1.2.3_A7.2': [FAIL], |
| 'S15.1.2.4_A2.2': [FAIL], |
| 'S15.1.2.5_A2.2': [FAIL], |
| 'S15.1.3.1_A5.2': [FAIL], |
| 'S15.1.3.2_A5.2': [FAIL], |
| 'S15.1.3.3_A5.2': [FAIL], |
| 'S15.1.3.4_A5.2': [FAIL], |
| 'S15.10.6.2_A9': [FAIL], |
| 'S15.10.6.3_A9': [FAIL], |
| 'S15.10.6.4_A9': [FAIL], |
| 'S15.2.4.2_A9': [FAIL], |
| 'S15.2.4.3_A9': [FAIL], |
| 'S15.2.4.4_A9': [FAIL], |
| 'S15.2.4.5_A9': [FAIL], |
| 'S15.2.4.6_A9': [FAIL], |
| 'S15.2.4.7_A9': [FAIL], |
| 'S15.3.4.2_A9': [FAIL], |
| 'S15.3.4.3_A9': [FAIL], |
| 'S15.3.4.4_A9': [FAIL], |
| 'S15.3.5.1_A2_T1': [FAIL], |
| 'S15.3.5.1_A2_T2': [FAIL], |
| 'S15.3.5.1_A2_T3': [FAIL], |
| 'S15.4.3_A2.2': [FAIL], |
| 'S15.4.4.10_A5.2': [FAIL], |
| 'S15.4.4.11_A7.2': [FAIL], |
| 'S15.4.4.12_A5.2': [FAIL], |
| 'S15.4.4.13_A5.2': [FAIL], |
| 'S15.4.4.2_A4.2': [FAIL], |
| 'S15.4.4.3_A4.2': [FAIL], |
| 'S15.4.4.4_A4.2': [FAIL], |
| 'S15.4.4.5_A6.2': [FAIL], |
| 'S15.4.4.6_A5.2': [FAIL], |
| 'S15.4.4.7_A6.2': [FAIL], |
| 'S15.4.4.8_A5.2': [FAIL], |
| 'S15.4.4.9_A5.2': [FAIL], |
| 'S15.5.4.10_A9': [FAIL], |
| 'S15.5.4.11_A9': [FAIL], |
| 'S15.5.4.12_A9': [FAIL], |
| 'S15.5.4.13_A9': [FAIL], |
| 'S15.5.4.14_A9': [FAIL], |
| 'S15.5.4.15_A9': [FAIL], |
| 'S15.5.4.16_A9': [FAIL], |
| 'S15.5.4.17_A9': [FAIL], |
| 'S15.5.4.18_A9': [FAIL], |
| 'S15.5.4.19_A9': [FAIL], |
| 'S15.5.4.4_A9': [FAIL], |
| 'S15.5.4.5_A9': [FAIL], |
| 'S15.5.4.6_A9': [FAIL], |
| 'S15.5.4.7_A9': [FAIL], |
| 'S15.5.4.8_A9': [FAIL], |
| 'S15.5.4.9_A9': [FAIL], |
| 'S15.9.4.2_A3_T2': [FAIL], |
| 'S15.9.4.3_A3_T2': [FAIL], |
| 'S15.9.5.10_A3_T2': [FAIL], |
| 'S15.9.5.11_A3_T2': [FAIL], |
| 'S15.9.5.12_A3_T2': [FAIL], |
| 'S15.9.5.13_A3_T2': [FAIL], |
| 'S15.9.5.14_A3_T2': [FAIL], |
| 'S15.9.5.15_A3_T2': [FAIL], |
| 'S15.9.5.16_A3_T2': [FAIL], |
| 'S15.9.5.17_A3_T2': [FAIL], |
| 'S15.9.5.18_A3_T2': [FAIL], |
| 'S15.9.5.19_A3_T2': [FAIL], |
| 'S15.9.5.1_A3_T2': [FAIL], |
| 'S15.9.5.20_A3_T2': [FAIL], |
| 'S15.9.5.21_A3_T2': [FAIL], |
| 'S15.9.5.22_A3_T2': [FAIL], |
| 'S15.9.5.23_A3_T2': [FAIL], |
| 'S15.9.5.24_A3_T2': [FAIL], |
| 'S15.9.5.25_A3_T2': [FAIL], |
| 'S15.9.5.26_A3_T2': [FAIL], |
| 'S15.9.5.27_A3_T2': [FAIL], |
| 'S15.9.5.28_A3_T2': [FAIL], |
| 'S15.9.5.29_A3_T2': [FAIL], |
| 'S15.9.5.2_A3_T2': [FAIL], |
| 'S15.9.5.30_A3_T2': [FAIL], |
| 'S15.9.5.31_A3_T2': [FAIL], |
| 'S15.9.5.32_A3_T2': [FAIL], |
| 'S15.9.5.33_A3_T2': [FAIL], |
| 'S15.9.5.34_A3_T2': [FAIL], |
| 'S15.9.5.35_A3_T2': [FAIL], |
| 'S15.9.5.36_A3_T2': [FAIL], |
| 'S15.9.5.37_A3_T2': [FAIL], |
| 'S15.9.5.38_A3_T2': [FAIL], |
| 'S15.9.5.39_A3_T2': [FAIL], |
| 'S15.9.5.3_A3_T2': [FAIL], |
| 'S15.9.5.40_A3_T2': [FAIL], |
| 'S15.9.5.41_A3_T2': [FAIL], |
| 'S15.9.5.42_A3_T2': [FAIL], |
| 'S15.9.5.4_A3_T2': [FAIL], |
| 'S15.9.5.5_A3_T2': [FAIL], |
| 'S15.9.5.6_A3_T2': [FAIL], |
| 'S15.9.5.7_A3_T2': [FAIL], |
| 'S15.9.5.8_A3_T2': [FAIL], |
| 'S15.9.5.9_A3_T2': [FAIL], |
| |
| # Object.getPrototypeOf wraps primitive values in ES6. |
| '15.2.3.2-1': [FAIL], |
| '15.2.3.2-1-3': [FAIL], |
| '15.2.3.2-1-4': [FAIL], |
| |
| # Object.getOwnPropertyDescriptor wraps primitives in ES6. |
| '15.2.3.3-1': [FAIL], |
| '15.2.3.3-1-3': [FAIL], |
| '15.2.3.3-1-4': [FAIL], |
| |
| # Function restricted "caller" and "arguments" properties are defined only on |
| # the intrinsic %FunctionPrototype% (and sloppy functions) in ES6 |
| '13.2-29-s': [FAIL], |
| '13.2-30-s': [FAIL], |
| '13.2-31-s': [FAIL], |
| '13.2-32-s': [FAIL], |
| '13.2-33-s': [FAIL], |
| '13.2-34-s': [FAIL], |
| '13.2-35-s': [FAIL], |
| '13.2-36-s': [FAIL], |
| 'S13.2.3_A1': [FAIL], |
| '15.3.4.5-20-1': [FAIL], |
| '15.3.4.5-20-4': [FAIL], |
| '15.3.4.5-20-5': [FAIL], |
| '15.3.4.5-21-1': [FAIL], |
| '15.3.4.5-21-4': [FAIL], |
| '15.3.4.5-21-5': [FAIL], |
| |
| # Object.freeze(O), Object.seal(O), and Object.preventExtensions(O), |
| # Object.isFrozen(O), Object.isSealed(O), and Object.isExtensible(O) no longer |
| # throw when passed a non-object value in ES6. |
| '15.2.3.8-1': [FAIL], |
| '15.2.3.8-1-1': [FAIL], |
| '15.2.3.8-1-2': [FAIL], |
| '15.2.3.8-1-3': [FAIL], |
| '15.2.3.8-1-4': [FAIL], |
| '15.2.3.9-1': [FAIL], |
| '15.2.3.9-1-1': [FAIL], |
| '15.2.3.9-1-2': [FAIL], |
| '15.2.3.9-1-3': [FAIL], |
| '15.2.3.9-1-4': [FAIL], |
| '15.2.3.10-1': [FAIL], |
| '15.2.3.10-1-1': [FAIL], |
| '15.2.3.10-1-2': [FAIL], |
| '15.2.3.10-1-3': [FAIL], |
| '15.2.3.10-1-4': [FAIL], |
| '15.2.3.11-1': [FAIL], |
| '15.2.3.12-1': [FAIL], |
| '15.2.3.12-1-1': [FAIL], |
| '15.2.3.12-1-2': [FAIL], |
| '15.2.3.12-1-3': [FAIL], |
| '15.2.3.12-1-4': [FAIL], |
| '15.2.3.13-1': [FAIL], |
| '15.2.3.13-1-1': [FAIL], |
| '15.2.3.13-1-2': [FAIL], |
| '15.2.3.13-1-3': [FAIL], |
| '15.2.3.13-1-4': [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. |
| '6.2.3': [FAIL], |
| '9.2.1_2': [FAIL], |
| '9.2.6_2': [FAIL], |
| '10.1.1_a': [FAIL], |
| '10.1.1_19_c': [PASS, FAIL, NO_VARIANTS], |
| '10.1.2.1_4': [FAIL], |
| '10.2.3_b': [PASS, FAIL], |
| '10.3_a': [FAIL], |
| '11.1.1_17': [PASS, FAIL], |
| '11.1.1_19': [PASS, FAIL], |
| '11.1.1_20_c': [FAIL], |
| '11.1.1_a': [FAIL], |
| '11.1.2.1_4': [FAIL], |
| '11.3.2_FN_2': [PASS, FAIL], |
| '11.3.2_TRF': [PASS, FAIL], |
| '11.3_a': [FAIL], |
| '12.1.1_a': [FAIL], |
| '12.1.2.1_4': [FAIL], |
| '12.3.2_FDT_7_a_iv': [FAIL], |
| '12.3.3': [FAIL], |
| '12.3_a': [FAIL], |
| '15.5.4.9_3': [PASS, FAIL], |
| |
| ##################### DELIBERATE INCOMPATIBILITIES ##################### |
| |
| '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. |
| 'S8.5_A2.1': [PASS, FAIL_OK], |
| '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 |
| 'S15.9.3.1_A5_T1': [PASS, FAIL_OK], |
| 'S15.9.3.1_A5_T2': [PASS, FAIL_OK], |
| 'S15.9.3.1_A5_T3': [PASS, FAIL_OK], |
| 'S15.9.3.1_A5_T4': [PASS, FAIL_OK], |
| 'S15.9.3.1_A5_T5': [PASS, FAIL_OK], |
| 'S15.9.3.1_A5_T6': [PASS, FAIL_OK], |
| |
| # ObjectKeys() no longer throws TypeError when passed a primitive value which |
| # is not null or undefined (per ES6). |
| '15.2.3.14-1-1': [FAIL_OK], |
| '15.2.3.14-1-2': [FAIL_OK], |
| '15.2.3.14-1-3': [FAIL_OK], |
| |
| # Object.getOwnPropertyNames(O) no longer throws when passed a primitive value. |
| '15.2.3.4-1-4': [FAIL_OK], |
| '15.2.3.4-1-5': [FAIL_OK], |
| '15.2.3.4-1': [FAIL_OK], |
| |
| ############################ SKIPPED TESTS ############################# |
| |
| # These tests take a looong time to run in debug mode. |
| 'S15.1.3.1_A2.5_T1': [PASS, ['mode == debug', SKIP]], |
| 'S15.1.3.2_A2.5_T1': [PASS, ['mode == debug', SKIP]], |
| }], # ALWAYS |
| |
| ['system == macos', { |
| '11.3.2_TRP': [FAIL], |
| '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. |
| 'S13.2.1_A1_T1': [SKIP], |
| |
| # BUG(3251225): Tests that timeout with --nocrankshaft. |
| 'S15.1.3.1_A2.4_T1': [SKIP], |
| 'S15.1.3.1_A2.5_T1': [SKIP], |
| 'S15.1.3.2_A2.4_T1': [SKIP], |
| 'S15.1.3.2_A2.5_T1': [SKIP], |
| 'S15.1.3.3_A2.3_T1': [SKIP], |
| 'S15.1.3.4_A2.3_T1': [SKIP], |
| }], # 'arch == arm or arch == mipsel or arch == mips or arch == arm64' |
| ] |