# Copyright 2012 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, { # All tests in the bug directory are expected to fail. 'bugs/*': [FAIL], ############################################################################## # Flaky tests. # BUG(v8:2921). 'debug-step-4-in-frame': [PASS, FAIL, SLOW], ############################################################################## # Fails. 'regress/regress-1119': [FAIL], # Issue 1719: Slow to collect arrays over several contexts. 'regress/regress-524': [SKIP], # When that bug is fixed, revert the expectation to: # Skip long running test in debug and allow it to timeout in release mode. # regress/regress-524: [PASS, TIMEOUT, ['mode == debug', SKIP]], # This test non-deterministically runs out of memory on Windows ia32. 'regress/regress-crbug-160010': [SKIP], ############################################################################## # Too slow in debug mode with --stress-opt mode. 'compiler/regress-stacktrace-methods': [PASS, ['mode == debug', SKIP]], 'compiler/regress-funcaller': [PASS, ['mode == debug', SKIP]], 'regress/regress-2318': [PASS, ['mode == debug', SKIP]], 'regress/regress-create-exception': [PASS, ['mode == debug', SKIP]], ############################################################################## # Too slow in debug mode for GC stress mode. 'regress/regress-crbug-217858': [PASS, ['mode == debug', SKIP]], ############################################################################## # Only regexp stuff tested, no need for extensive Crankshaft tests. 'regexp-global': [PASS, NO_VARIANTS], ############################################################################## # No need to waste time for this test. 'd8-performance-now': [PASS, NO_VARIANTS], ############################################################################## # These use a built-in that's only present in debug mode. They take # too long to run in debug mode on ARM and MIPS. 'fuzz-natives-part*': [PASS, ['mode == release or arch == arm or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips', SKIP]], 'big-object-literal': [PASS, ['arch == arm or arch == android_arm or arch == android_arm64', SKIP]], # Issue 488: this test sometimes times out. 'array-constructor': [PASS, TIMEOUT], # Very slow on ARM and MIPS, contains no architecture dependent code. 'unicode-case-overoptimization': [PASS, NO_VARIANTS, ['arch == arm or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips', TIMEOUT]], ############################################################################## # This test expects to reach a certain recursion depth, which may not work # for debug mode. 'json-recursive': [PASS, ['mode == debug', PASS, FAIL]], ############################################################################## # Skip long running tests that time out in debug mode. 'generated-transition-stub': [PASS, ['mode == debug', SKIP]], ############################################################################## # This test sets the umask on a per-process basis and hence cannot be # used in multi-threaded runs. # On android there is no /tmp directory. # Currently d8-os generates a temporary directory name using Math.random(), so # we cannot run several variants of d8-os simultaneously, since all of them # get the same random seed and would generate the same directory name. Besides # that, it doesn't make sense to run several variants of d8-os anyways. 'd8-os': [PASS, NO_VARIANTS, ['isolates or arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]], 'tools/tickprocessor': [PASS, ['arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]], ############################################################################## # Long running test that reproduces memory leak and should be run manually. 'regress/regress-2073': [SKIP], ############################################################################## # Tests verifying CHECK and ASSERT. 'verify-check-false': [FAIL, NO_VARIANTS], 'verify-assert-false': [NO_VARIANTS, ['mode == release', PASS], ['mode == debug', FAIL]], ############################################################################## # Tests with different versions for release and debug. 'compiler/alloc-number': [PASS, ['mode == debug', SKIP]], 'compiler/alloc-number-debug': [PASS, ['mode == release', SKIP]], 'regress/regress-634': [PASS, ['mode == debug', SKIP]], 'regress/regress-634-debug': [PASS, ['mode == release', SKIP]], # BUG(336820). TODO(bmeurer): Investigate. 'regress/regress-336820': [PASS, FAIL], # BUG(v8:2989). PASS/FAIL on linux32 because crankshaft is turned off for # nosse2. Also for arm novfp3. 'regress/regress-2989': [FAIL, NO_VARIANTS, ['system == linux and arch == ia32 or arch == arm and simulator == True', PASS]], # Skip endain dependent test for mips due to different typed views of the same # array buffer. 'nans': [PASS, ['arch == mips', SKIP]], # Object.observe is disabled. 'es6/promises': [SKIP], 'array-push7': [SKIP], 'harmony/microtask-delivery': [SKIP], 'es7/object-observe': [SKIP], 'harmony/regress/regress-observe-empty-double-array': [SKIP], 'regress/regress-356589': [SKIP], 'regress/regress-observe-map-cache': [SKIP], }], # ALWAYS ############################################################################## ['gc_stress == True', { # Skip tests not suitable for GC stress. 'allocation-site-info': [SKIP], 'array-constructor-feedback': [SKIP], 'array-feedback': [SKIP], 'array-literal-feedback': [SKIP], 'd8-performance-now': [SKIP], 'elements-kind': [SKIP], 'fast-prototype': [SKIP], 'opt-elements-kind': [SKIP], 'osr-elements-kind': [SKIP], 'regress/regress-165637': [SKIP], 'regress/regress-2249': [SKIP], 'debug-stepout-scope-part8': [PASS, ['arch == arm ', FAIL]], }], # 'gc_stress == True' ############################################################################## ['arch == arm64 or arch == android_arm64', { # Requires bigger stack size in the Genesis and if stack size is increased, # the test requires too much time to run. However, the problem test covers # should be platform-independent. 'regress/regress-1132': [SKIP], # Pass but take too long to run. Skip. # Some similar tests (with fewer iterations) may be included in arm64-js # tests. 'compiler/regress-arguments': [SKIP], 'compiler/regress-gvn': [SKIP], 'compiler/regress-max-locals-for-osr': [SKIP], 'compiler/regress-4': [SKIP], 'compiler/regress-or': [SKIP], 'compiler/regress-rep-change': [SKIP], 'regress/regress-1117': [SKIP], 'regress/regress-1145': [SKIP], 'regress/regress-1849': [SKIP], 'regress/regress-3247124': [SKIP], 'regress/regress-634': [SKIP], 'regress/regress-91008': [SKIP], 'regress/regress-91010': [SKIP], 'regress/regress-91013': [SKIP], 'regress/regress-99167': [SKIP], # Long running tests. 'regress/regress-2185': [PASS, ['mode == debug', PASS, TIMEOUT]], 'regress/regress-2185-2': [PASS, TIMEOUT], 'whitespaces': [PASS, TIMEOUT, SLOW], # Stack manipulations in LiveEdit is not implemented for this arch. 'debug-liveedit-check-stack': [SKIP], 'debug-liveedit-stack-padding': [SKIP], 'debug-liveedit-restart-frame': [SKIP], 'debug-liveedit-double-call': [SKIP], # BUG(v8:3147). It works on other architectures by accident. 'regress/regress-conditional-position': [FAIL], # Slow tests. 'array-concat': [PASS, SLOW], 'array-constructor': [PASS, SLOW], 'array-indexing': [PASS, SLOW], 'array-reduce': [PASS, SLOW], 'array-sort': [PASS, SLOW], 'array-splice': [PASS, SLOW], 'bit-not': [PASS, SLOW], 'compiler/alloc-number': [PASS, SLOW], 'compiler/osr-assert': [PASS, SLOW], 'compiler/osr-warm': [PASS, SLOW], 'compiler/osr-with-args': [PASS, SLOW], 'debug-scopes': [PASS, SLOW], 'generated-transition-stub': [PASS, SLOW], 'json2': [PASS, SLOW], 'math-floor-of-div-nosudiv': [PASS, SLOW], 'math-floor-of-div': [PASS, SLOW], 'mirror-object': [PASS, SLOW], 'packed-elements': [PASS, SLOW], 'regress/regress-1122': [PASS, SLOW], 'regress/regress-2185-2': [PASS, SLOW], 'regress/regress-2185': [PASS, SLOW], 'regress/regress-2790': [PASS, SLOW], 'regress/regress-331444': [PASS, SLOW], 'regress/regress-490': [PASS, SLOW], 'regress/regress-crbug-217858': [PASS, SLOW], 'regress/regress-create-exception': [PASS, SLOW], 'regress/regress-json-stringify-gc': [PASS, SLOW], 'string-indexof-2': [PASS, SLOW], 'unicodelctest-no-optimization': [PASS, SLOW], 'unicodelctest': [PASS, SLOW], 'unicode-test': [PASS, SLOW], }], # 'arch == arm64' ['arch == arm64 and mode == debug and simulator_run == True', { # Pass but take too long with the simulator in debug mode. 'array-sort': [PASS, TIMEOUT], 'packed-elements': [SKIP], 'regexp-global': [SKIP], 'compiler/alloc-numbers': [SKIP], 'harmony/symbols': [SKIP], # Issue 3219: 'getters-on-elements': [PASS, ['gc_stress == True', FAIL]], }], # 'arch == arm64 and mode == debug and simulator_run == True' ############################################################################## ['asan == True', { # Skip tests not suitable for ASAN. 'big-array-literal': [SKIP], 'big-object-literal': [SKIP], 'regress/regress-crbug-178790': [SKIP], }], # 'asan == True' ############################################################################## ['arch == arm or arch == android_arm', { # Slow tests which times out in debug mode. 'try': [PASS, ['mode == debug', SKIP]], 'debug-scripts-request': [PASS, ['mode == debug', SKIP]], 'array-constructor': [PASS, ['mode == debug', SKIP]], 'regress/regress-1122': [PASS, ['mode == debug and arch == android_arm', SKIP]], # Flaky test that can hit compilation-time stack overflow in debug mode. 'unicode-test': [PASS, ['mode == debug', PASS, FAIL]], # Times out often in release mode on ARM. 'compiler/regress-stacktrace-methods': [PASS, ['mode == release', TIMEOUT]], 'array-splice': [PASS, TIMEOUT], # Long running test. 'string-indexof-2': [PASS, TIMEOUT], 'mirror-object': [PASS, TIMEOUT], # Long running tests. Skipping because having them timeout takes too long on # the buildbot. 'compiler/alloc-number': [SKIP], 'regress/regress-490': [SKIP], 'regress/regress-634': [SKIP], 'regress/regress-create-exception': [SKIP], 'regress/regress-3247124': [SKIP], # Requires bigger stack size in the Genesis and if stack size is increased, # the test requires too much time to run. However, the problem test covers # should be platform-independent. 'regress/regress-1132': [SKIP], # Stack manipulations in LiveEdit is not implemented for this arch. 'debug-liveedit-check-stack': [SKIP], 'debug-liveedit-stack-padding': [SKIP], 'debug-liveedit-restart-frame': [SKIP], 'debug-liveedit-double-call': [SKIP], # Currently always deopt on minus zero 'math-floor-of-div-minus-zero': [SKIP], ############################################################################ # Slow tests. 'regress/regress-2185-2': [PASS, SLOW], 'mirror-object': [PASS, SLOW], 'compiler/osr-with-args': [PASS, SLOW], 'array-sort': [PASS, SLOW], 'packed-elements': [PASS, SLOW], 'regress/regress-91008': [PASS, SLOW], 'regress/regress-2790': [PASS, SLOW], 'regress/regress-json-stringify-gc': [PASS, SLOW], 'regress/regress-1122': [PASS, SLOW], }], # 'arch == arm or arch == android_arm' ############################################################################## ['arch == mipsel or arch == mips', { # Slow tests which times out in debug mode. 'try': [PASS, ['mode == debug', SKIP]], 'debug-scripts-request': [PASS, ['mode == debug', SKIP]], 'array-constructor': [PASS, ['mode == debug', SKIP]], # Times out often in release mode on MIPS. 'compiler/regress-stacktrace-methods': [PASS, ['mode == release', TIMEOUT]], 'array-splice': [PASS, TIMEOUT], # Long running test. 'mirror-object': [PASS, TIMEOUT], 'string-indexof-2': [PASS, TIMEOUT], # Long running tests. Skipping because having them timeout takes too long on # the buildbot. 'compiler/alloc-number': [SKIP], 'regress/regress-490': [SKIP], 'regress/regress-634': [SKIP], 'regress/regress-create-exception': [SKIP], 'regress/regress-3247124': [SKIP], # Requires bigger stack size in the Genesis and if stack size is increased, # the test requires too much time to run. However, the problem test covers # should be platform-independent. 'regress/regress-1132': [SKIP], # Stack manipulations in LiveEdit is not implemented for this arch. 'debug-liveedit-check-stack': [SKIP], 'debug-liveedit-stack-padding': [SKIP], 'debug-liveedit-restart-frame': [SKIP], 'debug-liveedit-double-call': [SKIP], # Currently always deopt on minus zero 'math-floor-of-div-minus-zero': [SKIP], }], # 'arch == mipsel or arch == mips' ############################################################################## # Native Client uses the ARM simulator so will behave similarly to arm # on mjsunit tests. # TODO(bradchen): enable more tests for NaCl V8 when it stops using # the ARM simulator. ############################################################################## ['arch == nacl_ia32 or arch == nacl_x64', { # There is no /tmp directory for NaCl runs 'd8-os': [SKIP], # Stack manipulations in LiveEdit is not implemented for this arch. 'debug-liveedit-check-stack': [SKIP], 'debug-liveedit-stack-padding': [SKIP], 'debug-liveedit-restart-frame': [SKIP], 'debug-liveedit-double-call': [SKIP], # This test dumps core for arm.debug, so no reason to expect it to work # for NaCl. The other three fuzz-natives tests seem to run fine. # As noted above none of them are run in the arm.debug case. 'fuzz-natives-part4': [SKIP], # NaCl builds have problems with this test since Pepper_28. # V8 Issue 2786 'math-exp-precision': [SKIP], # Requires bigger stack size in the Genesis and if stack size is increased, # the test requires too much time to run. However, the problem test covers # should be platform-independent. 'regress/regress-1132': [SKIP], # Poor performance for NaCl V8 causes an assertion failure for this test. 'regress/regress-165637': [SKIP], # Skip long running test that times out in debug mode and goes OOM on NaCl. 'regress/regress-crbug-160010': [SKIP], # Bug(v8:2978). 'lithium/MathExp': [PASS, FAIL], # Lead to OOM: 'string-oom-*': [SKIP], # Crashes. 'harmony/private': [SKIP], 'harmony/symbols': [SKIP], }], # 'arch == nacl_ia32 or arch == nacl_x64' ############################################################################## ['deopt_fuzzer == True', { # Skip tests that are not suitable for deoptimization fuzzing. 'assert-opt-and-deopt': [SKIP], 'never-optimize': [SKIP], 'regress/regress-2185-2': [SKIP], 'harmony/object-observe': [SKIP], 'readonly': [SKIP], 'array-feedback': [SKIP], # Deopt every n garbage collections collides with deopt every n times. 'regress/regress-2653': [SKIP], }], # 'deopt_fuzzer == True' ]