Home | History | Annotate | Download | only in mjsunit
      1 # Copyright 2012 the V8 project authors. All rights reserved.
      2 # Redistribution and use in source and binary forms, with or without
      3 # modification, are permitted provided that the following conditions are
      4 # met:
      5 #
      6 #     * Redistributions of source code must retain the above copyright
      7 #       notice, this list of conditions and the following disclaimer.
      8 #     * Redistributions in binary form must reproduce the above
      9 #       copyright notice, this list of conditions and the following
     10 #       disclaimer in the documentation and/or other materials provided
     11 #       with the distribution.
     12 #     * Neither the name of Google Inc. nor the names of its
     13 #       contributors may be used to endorse or promote products derived
     14 #       from this software without specific prior written permission.
     15 #
     16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     17 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     18 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     19 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     20 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27 
     28 [
     29 [ALWAYS, {
     30   # All tests in the bug directory are expected to fail.
     31   'bugs/*': [FAIL],
     32 
     33   ##############################################################################
     34   # Flaky tests.
     35   # BUG(v8:2921).
     36   'debug-step-4-in-frame': [PASS, FAIL, SLOW],
     37 
     38   ##############################################################################
     39   # Fails.
     40   'regress/regress-1119': [FAIL],
     41 
     42   # Issue 1719: Slow to collect arrays over several contexts.
     43   'regress/regress-524': [SKIP],
     44   # When that bug is fixed, revert the expectation to:
     45   # Skip long running test in debug and allow it to timeout in release mode.
     46   # regress/regress-524: [PASS, TIMEOUT, ['mode == debug', SKIP]],
     47 
     48   # This test non-deterministically runs out of memory on Windows ia32.
     49   'regress/regress-crbug-160010': [SKIP],
     50 
     51   ##############################################################################
     52   # Too slow in debug mode with --stress-opt mode.
     53   'compiler/regress-stacktrace-methods': [PASS, ['mode == debug', SKIP]],
     54   'compiler/regress-funcaller': [PASS, ['mode == debug', SKIP]],
     55   'regress/regress-2318': [PASS, ['mode == debug', SKIP]],
     56   'regress/regress-create-exception': [PASS, ['mode == debug', SKIP]],
     57 
     58   ##############################################################################
     59   # Too slow in debug mode for GC stress mode.
     60   'regress/regress-crbug-217858': [PASS, ['mode == debug', SKIP]],
     61 
     62   ##############################################################################
     63   # Only regexp stuff tested, no need for extensive Crankshaft tests.
     64   'regexp-global': [PASS, NO_VARIANTS],
     65 
     66   ##############################################################################
     67   # No need to waste time for this test.
     68   'd8-performance-now': [PASS, NO_VARIANTS],
     69 
     70   ##############################################################################
     71   # These use a built-in that's only present in debug mode. They take
     72   # too long to run in debug mode on ARM and MIPS.
     73   'fuzz-natives-part*': [PASS, ['mode == release or arch == arm or arch == android_arm or arch == mipsel', SKIP]],
     74 
     75   'big-object-literal': [PASS, ['arch == arm or arch == android_arm', SKIP]],
     76 
     77   # Issue 488: this test sometimes times out.
     78   'array-constructor': [PASS, TIMEOUT],
     79 
     80   # Very slow on ARM and MIPS, contains no architecture dependent code.
     81   'unicode-case-overoptimization': [PASS, NO_VARIANTS, ['arch == arm or arch == android_arm or arch == mipsel', TIMEOUT]],
     82 
     83   ##############################################################################
     84   # This test expects to reach a certain recursion depth, which may not work
     85   # for debug mode.
     86   'json-recursive': [PASS, ['mode == debug', PASS, FAIL]],
     87 
     88   ##############################################################################
     89   # Skip long running tests that time out in debug mode.
     90   'generated-transition-stub': [PASS, ['mode == debug', SKIP]],
     91 
     92   ##############################################################################
     93   # This test sets the umask on a per-process basis and hence cannot be
     94   # used in multi-threaded runs.
     95   # On android there is no /tmp directory.
     96   'd8-os': [PASS, ['isolates or arch == android_arm or arch == android_ia32', SKIP]],
     97   'tools/tickprocessor': [PASS, ['arch == android_arm or arch == android_ia32', SKIP]],
     98 
     99   ##############################################################################
    100   # Long running test that reproduces memory leak and should be run manually.
    101   'regress/regress-2073': [SKIP],
    102 }],  # ALWAYS
    103 
    104 ##############################################################################
    105 ['arch == arm or arch == android_arm', {
    106 
    107   # Slow tests which times out in debug mode.
    108   'try': [PASS, ['mode == debug', SKIP]],
    109   'debug-scripts-request': [PASS, ['mode == debug', SKIP]],
    110   'array-constructor': [PASS, ['mode == debug', SKIP]],
    111   'regress/regress-1122': [PASS, ['mode == debug and arch == android_arm', SKIP]],
    112 
    113   # Flaky test that can hit compilation-time stack overflow in debug mode.
    114   'unicode-test': [PASS, ['mode == debug', PASS, FAIL]],
    115 
    116   # Times out often in release mode on ARM.
    117   'compiler/regress-stacktrace-methods': [PASS, PASS, ['mode == release', TIMEOUT]],
    118   'array-splice': [PASS, TIMEOUT],
    119 
    120   # Long running test.
    121   'string-indexof-2': [PASS, TIMEOUT],
    122   'mirror-object': [PASS, TIMEOUT],
    123 
    124   # BUG(3251035): Timeouts in long looping crankshaft optimization
    125   # tests. Skipping because having them timeout takes too long on the
    126   # buildbot.
    127   'compiler/alloc-number': [SKIP],
    128   'compiler/array-length': [SKIP],
    129   'compiler/assignment-deopt': [SKIP],
    130   'compiler/deopt-args': [SKIP],
    131   'compiler/inline-compare': [SKIP],
    132   'compiler/inline-global-access': [SKIP],
    133   'compiler/optimized-function-calls': [SKIP],
    134   'compiler/pic': [SKIP],
    135   'compiler/property-calls': [SKIP],
    136   'compiler/recursive-deopt': [SKIP],
    137   'compiler/regress-4': [SKIP],
    138   'compiler/regress-funcaller': [SKIP],
    139   'compiler/regress-rep-change': [SKIP],
    140   'compiler/regress-arguments': [SKIP],
    141   'compiler/regress-funarguments': [SKIP],
    142   'compiler/regress-3249650': [SKIP],
    143   'compiler/simple-deopt': [SKIP],
    144   'regress/regress-490': [SKIP],
    145   'regress/regress-634': [SKIP],
    146   'regress/regress-create-exception': [SKIP],
    147   'regress/regress-3218915': [SKIP],
    148   'regress/regress-3247124': [SKIP],
    149 
    150   # Requires bigger stack size in the Genesis and if stack size is increased,
    151   # the test requires too much time to run.  However, the problem test covers
    152   # should be platform-independent.
    153   'regress/regress-1132': [SKIP],
    154 
    155   # Stack manipulations in LiveEdit is not implemented for this arch.
    156   'debug-liveedit-check-stack': [SKIP],
    157   'debug-liveedit-stack-padding': [SKIP],
    158   'debug-liveedit-restart-frame': [SKIP],
    159   'debug-liveedit-double-call': [SKIP],
    160 
    161   # Currently always deopt on minus zero
    162   'math-floor-of-div-minus-zero': [SKIP],
    163 
    164   ############################################################################
    165   # Slow tests.
    166   'regress/regress-2185-2': [PASS, SLOW],
    167   'mirror-object': [PASS, SLOW],
    168   'compiler/osr-with-args': [PASS, SLOW],
    169   'array-sort': [PASS, SLOW],
    170   'packed-elements': [PASS, SLOW],
    171   'regress/regress-91008': [PASS, SLOW],
    172   'regress/regress-2790': [PASS, SLOW],
    173   'regress/regress-json-stringify-gc': [PASS, SLOW],
    174   'regress/regress-1122': [PASS, SLOW],
    175 }],  # 'arch == arm or arch == android_arm'
    176 
    177 ##############################################################################
    178 ['arch == mipsel', {
    179 
    180   # Slow tests which times out in debug mode.
    181   'try': [PASS, ['mode == debug', SKIP]],
    182   'debug-scripts-request': [PASS, ['mode == debug', SKIP]],
    183   'array-constructor': [PASS, ['mode == debug', SKIP]],
    184 
    185   # Times out often in release mode on MIPS.
    186   'compiler/regress-stacktrace-methods': [PASS, PASS, ['mode == release', TIMEOUT]],
    187   'array-splice': [PASS, TIMEOUT],
    188 
    189   # Long running test.
    190   'mirror-object': [PASS, TIMEOUT],
    191   'string-indexof-2': [PASS, TIMEOUT],
    192 
    193   # BUG(3251035): Timeouts in long looping crankshaft optimization
    194   # tests. Skipping because having them timeout takes too long on the
    195   # buildbot.
    196   'compiler/alloc-number': [SKIP],
    197   'compiler/array-length': [SKIP],
    198   'compiler/assignment-deopt': [SKIP],
    199   'compiler/deopt-args': [SKIP],
    200   'compiler/inline-compare': [SKIP],
    201   'compiler/inline-global-access': [SKIP],
    202   'compiler/optimized-function-calls': [SKIP],
    203   'compiler/pic': [SKIP],
    204   'compiler/property-calls': [SKIP],
    205   'compiler/recursive-deopt': [SKIP],
    206   'compiler/regress-4': [SKIP],
    207   'compiler/regress-funcaller': [SKIP],
    208   'compiler/regress-rep-change': [SKIP],
    209   'compiler/regress-arguments': [SKIP],
    210   'compiler/regress-funarguments': [SKIP],
    211   'compiler/regress-3249650': [SKIP],
    212   'compiler/simple-deopt': [SKIP],
    213   'regress/regress-490': [SKIP],
    214   'regress/regress-634': [SKIP],
    215   'regress/regress-create-exception': [SKIP],
    216   'regress/regress-3218915': [SKIP],
    217   'regress/regress-3247124': [SKIP],
    218 
    219   # Requires bigger stack size in the Genesis and if stack size is increased,
    220   # the test requires too much time to run.  However, the problem test covers
    221   # should be platform-independent.
    222   'regress/regress-1132': [SKIP],
    223 
    224   # Stack manipulations in LiveEdit is not implemented for this arch.
    225   'debug-liveedit-check-stack': [SKIP],
    226   'debug-liveedit-stack-padding': [SKIP],
    227   'debug-liveedit-restart-frame': [SKIP],
    228   'debug-liveedit-double-call': [SKIP],
    229 
    230   # Currently always deopt on minus zero
    231   'math-floor-of-div-minus-zero': [SKIP],
    232 }],  # 'arch == mipsel'
    233 
    234 ##############################################################################
    235 # Native Client uses the ARM simulator so will behave similarly to arm
    236 # on mjsunit tests.
    237 # TODO(bradchen): enable more tests for NaCl V8 when it stops using
    238 # the ARM simulator.
    239 ##############################################################################
    240 ['arch == nacl_ia32 or arch == nacl_x64', {
    241   # There is no /tmp directory for NaCl runs
    242   'd8-os': [SKIP],
    243 
    244   # Stack manipulations in LiveEdit is not implemented for this arch.
    245   'debug-liveedit-check-stack': [SKIP],
    246   'debug-liveedit-stack-padding': [SKIP],
    247   'debug-liveedit-restart-frame': [SKIP],
    248   'debug-liveedit-double-call': [SKIP],
    249 
    250   # This test dumps core for arm.debug, so no reason to expect it to work
    251   # for NaCl. The other three fuzz-natives tests seem to run fine.
    252   # As noted above none of them are run in the arm.debug case.
    253   'fuzz-natives-part4': [SKIP],
    254 
    255   # NaCl builds have problems with this test since Pepper_28.
    256   # V8 Issue 2786
    257   'math-exp-precision': [SKIP],
    258 
    259   # Requires bigger stack size in the Genesis and if stack size is increased,
    260   # the test requires too much time to run.  However, the problem test covers
    261   # should be platform-independent.
    262   'regress/regress-1132': [SKIP],
    263 
    264   # Poor performance for NaCl V8 causes an assertion failure for this test.
    265   'regress/regress-165637': [SKIP],
    266 
    267   # Skip long running test that times out in debug mode and goes OOM on NaCl.
    268   'regress/regress-crbug-160010': [SKIP],
    269 
    270   # Bug(v8:2978).
    271   'lithium/MathExp': [PASS, FAIL],
    272 }],  # 'arch == nacl_ia32 or arch == nacl_x64'
    273 
    274 ##############################################################################
    275 ['deopt_fuzzer == True', {
    276 
    277   # Skip tests that are not suitable for deoptimization fuzzing.
    278   'assert-opt-and-deopt': [SKIP],
    279   'never-optimize': [SKIP],
    280   'regress/regress-2185-2': [SKIP],
    281   'harmony/object-observe': [SKIP],
    282   'readonly': [SKIP],
    283   'array-feedback': [SKIP],
    284 
    285   # Deopt every n garbage collections collides with deopt every n times.
    286   'regress/regress-2653': [SKIP],
    287 }],  # 'deopt_fuzzer == True'
    288 ]
    289