| # 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, { |
| # Modules which are only meant to be imported from by other tests, not to be |
| # tested standalone. |
| 'modules-skip*': [SKIP], |
| 'harmony/modules-skip*': [SKIP], |
| 'regress/modules-skip*': [SKIP], |
| 'wasm/exceptions-utils': [SKIP], |
| 'wasm/wasm-module-builder': [SKIP], |
| |
| # All tests in the bug directory are expected to fail. |
| 'bugs/*': [FAIL], |
| |
| ############################################################################## |
| # Open bugs. |
| |
| # https://crbug.com/v8/10929 |
| 'wasm/externref-liftoff' : [SKIP], |
| 'wasm/externref-globals-liftoff' : [SKIP], |
| |
| # BUG(v8:2989). |
| 'regress/regress-2989': [FAIL, NO_VARIANTS, ['lite_mode == True', SKIP]], |
| |
| # Issue 3784: setters-on-elements is flaky |
| 'setters-on-elements': [PASS, FAIL], |
| |
| # https://crbug.com/v8/7697 |
| 'array-literal-feedback': [PASS, FAIL], |
| |
| # https://crbug.com/v8/7775 |
| 'allocation-site-info': [SKIP], |
| |
| # BUG(v8:8169) |
| 'external-backing-store-gc': [SKIP], |
| |
| # Issue 9380: Memory leaks of shared WebAssembly.Memory objects |
| 'wasm/shared-memory-worker-gc': [SKIP], |
| |
| # BUG(v8:10197) |
| 'regress/regress-748069': [SKIP], |
| |
| # https://crbug.com/1043058 |
| # Enable once serializing a running isolate is fully implemented. |
| 'serialize-deserialize-now': [SKIP], |
| |
| # BUG(v8:9506): times out. |
| 'wasm/shared-memory-worker-explicit-gc-stress': [PASS, SLOW], |
| 'wasm/shared-memory-worker-gc-stress': [PASS, SLOW], |
| |
| # https://crbug.com/1129854 |
| 'tools/log': ['arch == arm or arch == arm64', SKIP], |
| |
| ############################################################################## |
| # Tests where variants make no sense. |
| 'd8/enable-tracing': [PASS, NO_VARIANTS], |
| 'd8/d8-os': [PASS, NO_VARIANTS], |
| 'd8/d8-performance-now': [PASS, NO_VARIANTS], |
| 'regexp-global': [PASS, NO_VARIANTS], |
| 'regress/regress-4595': [PASS, NO_VARIANTS], |
| 'regress/regress-crbug-491062': [PASS, NO_VARIANTS], |
| 'third_party/regexp-pcre/regexp-pcre': [PASS, NO_VARIANTS], |
| 'tools/compiler-trace-flags': [PASS, NO_VARIANTS], |
| 'tools/dumpcpp': [PASS, NO_VARIANTS], |
| 'tools/tickprocessor': [PASS, NO_VARIANTS], |
| |
| # Issue 488: this test sometimes times out. |
| # TODO(arm): This seems to flush out a bug on arm with simulator. |
| 'array-constructor': [PASS, SLOW, ['arch == arm and simulator_run', SKIP]], |
| |
| ############################################################################## |
| # Long-running tests. |
| # We really should find better solutions for these. |
| 'es6/promise-all-overflow-1': [SKIP], |
| 'harmony/promise-any-overflow-1': [SKIP], |
| 'migrations': [SKIP], |
| 'regress/regress-2073': [SKIP], |
| |
| ############################################################################## |
| # Tests verifying CHECK and ASSERT. |
| 'verify-check-false': [FAIL, NO_VARIANTS], |
| 'verify-assert-false': [NO_VARIANTS, ['mode == release and dcheck_always_on == False', 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-debug': [PASS, ['mode == release', SKIP]], |
| |
| # This test variant makes only sense on arm. |
| 'math-floor-of-div-nosudiv': [PASS, SLOW, ['arch not in [arm, arm64]', SKIP]], |
| |
| # OOM flakes in isolates tests because too many largish heaps are created. |
| 'asm/asm-heap': [PASS, NO_VARIANTS, ['isolates', SKIP]], |
| |
| # Slow tests. |
| 'array-functions-prototype-misc': [PASS, SLOW], |
| 'asm/embenchen/*': [PASS, SLOW, NO_VARIANTS], |
| 'asm/poppler/*': [PASS, SLOW, NO_VARIANTS], |
| 'asm/sqlite3/*': [PASS, SLOW, NO_VARIANTS], |
| 'compiler/regress-9017': [PASS, SLOW], |
| 'copy-on-write-assert': [PASS, SLOW], |
| 'es6/promise-all-overflow-2': [PASS, SLOW, ['arch != x64', SKIP]], |
| 'es6/typedarray-construct-offset-not-smi': [PASS, SLOW], |
| 'harmony/promise-any-overflow-2': [PASS, SLOW, ['arch != x64', SKIP]], |
| 'harmony/sharedarraybuffer-worker-gc-stress': [PASS, SLOW], |
| 'harmony/futex': [PASS, SLOW], |
| 'harmony/regexp-property-script-extensions': [PASS, SLOW], |
| 'ignition/regress-672027': [PASS, SLOW], |
| 'large-object-literal-slow-elements': [PASS, SLOW], |
| 'math-floor-of-div': [PASS, SLOW], |
| 'md5': [PASS, SLOW], |
| 'readonly': [PASS, SLOW], |
| 'regress/regress-1122': [PASS, SLOW], |
| 'regress/regress-605470': [PASS, SLOW], |
| 'regress/regress-655573': [PASS, SLOW], |
| 'regress/regress-1200351': [PASS, SLOW], |
| 'regress/regress-crbug-808192': [PASS, SLOW, NO_VARIANTS, ['arch not in (ia32, x64)', SKIP]], |
| 'regress/regress-crbug-918301': [PASS, SLOW, NO_VARIANTS, ['mode != release or dcheck_always_on', SKIP], ['(arch == arm or arch == arm64) and simulator_run', SKIP], ['tsan', SKIP]], |
| 'regress/wasm/regress-810973': [PASS, SLOW], |
| 'sealed-array-reduce': [PASS, SLOW], |
| 'string-replace-gc': [PASS, SLOW], |
| 'wasm/embenchen/*': [PASS, SLOW], |
| 'wasm/futex': [PASS, SLOW], |
| 'wasm/unreachable-validation': [PASS, SLOW], |
| 'wasm/atomics-stress': [PASS, SLOW, NO_VARIANTS, ['mode != release or dcheck_always_on', SKIP], ['tsan', SKIP]], |
| 'wasm/atomics64-stress': [PASS, SLOW, NO_VARIANTS, ['mode != release or dcheck_always_on', SKIP], ['tsan', SKIP]], |
| 'wasm/compare-exchange-stress': [PASS, SLOW, NO_VARIANTS], |
| 'wasm/compare-exchange64-stress': [PASS, SLOW, NO_VARIANTS], |
| |
| # Very slow on ARM and MIPS, contains no architecture dependent code. |
| 'unicode-case-overoptimization': [PASS, NO_VARIANTS, ['arch in (arm, arm64, mipsel, mips64el, mips64, mips)', SKIP]], |
| 'regress/regress-3976': [PASS, NO_VARIANTS, ['arch in (arm, arm64, mipsel, mips64el, mips64, mips)', SKIP]], |
| 'regress/regress-crbug-482998': [PASS, NO_VARIANTS, ['arch in (arm, arm64, mipsel, mips64el, mips)', SKIP]], |
| 'regress/regress-740784': [PASS, NO_VARIANTS, ['arch in (arm, arm64, mipsel, mips64el, mips)', SKIP]], |
| |
| # TODO(bmeurer): Flaky timeouts (sometimes <1s, sometimes >3m). |
| 'unicodelctest': [PASS, NO_VARIANTS], |
| 'unicodelctest-no-optimization': [PASS, NO_VARIANTS], |
| |
| # Test is only enabled on ASAN. Takes too long on many other bots. |
| 'regress/regress-crbug-9161': [PASS, SLOW, ['asan == False', SKIP]], |
| |
| # OOM with too many isolates/memory objects (https://crbug.com/1010272) |
| # Predictable tests fail due to race between postMessage and GrowMemory |
| 'regress/wasm/regress-1010272': [PASS, NO_VARIANTS, ['system == android', SKIP], ['predictable', SKIP]], |
| |
| # Only makes sense in the no_i18n variant. |
| 'es6/unicode-regexp-ignore-case-noi18n': |
| [['no_i18n == True', PASS], ['no_i18n == False', FAIL]], |
| |
| # Needs to be adapted after changes to Function constructor. chromium:1065094 |
| 'cross-realm-filtering': [SKIP], |
| }], # ALWAYS |
| |
| ############################################################################## |
| ['mode == debug', { |
| # Skip slow tests in debug mode. |
| 'array-functions-prototype-misc': [SKIP], |
| 'compiler/regress-808472': [SKIP], |
| 'es6/promise-all-overflow-2': [SKIP], |
| 'generated-transition-stub': [SKIP], |
| 'regress/regress-524': [SKIP], |
| 'regress/regress-4595': [SKIP], |
| 'regress/regress-430201': [SKIP], |
| 'regress/regress-430201b': [SKIP], |
| 'regress/regress-716044': [SKIP], |
| 'regress/regress-crbug-217858': [SKIP], |
| 'regress/regress-crbug-808192': [SKIP], |
| 'regress/regress-crbug-941743': [SKIP], |
| 'regress/regress-create-exception': [SKIP], |
| |
| # These tests run out of stack space in debug mode. |
| 'big-array-literal': [SKIP], |
| 'big-object-literal': [SKIP], |
| |
| # Too slow in debug mode BUG(v8:9506): times out. |
| 'wasm/shared-memory-worker-explicit-gc-stress': [SKIP], |
| 'wasm/shared-memory-worker-gc-stress': [SKIP], |
| |
| # For these tests, making them as slow is enough: |
| 'numops-fuzz-part*': [SLOW], |
| |
| # worker creation/shutdown is very slow in debug mode |
| 'd8/d8-worker-shutdown*': [SLOW], |
| # Allocates a huge string and then flattens it. |
| 'regress/regress-752764': [SLOW], |
| }], # mode == debug |
| |
| ['novfp3', { |
| 'asm/embenchen/box2d': [SKIP], |
| 'asm/embenchen/zlib': [SKIP], |
| 'asm/embenchen/memops': [SKIP], |
| 'asm/embenchen/lua_binarytrees': [SKIP], |
| }], # novfp3 |
| |
| ############################################################################## |
| # TODO(ahaas): Port multiple return values to MIPS, S390 and PPC |
| ['arch in (mips, mips64, mipsel, mips64el, s390, s390x, ppc, ppc64)', { |
| 'wasm/multi-value': [SKIP], |
| }], |
| |
| ############################################################################## |
| ['simulator_run', { |
| # Skip/annotate tests that are too slow on simulators. |
| 'random-bit-correlations': [SLOW], |
| 'regress/regress-crbug-941743': [SKIP], |
| 'regress/regress-crbug-1041232': [SKIP], |
| 'regress/wasm/regress-1010272': [SKIP], |
| 'wasm/atomics-stress': [SKIP], |
| 'wasm/atomics64-stress': [SKIP], |
| }], # simulator_run |
| |
| ############################################################################## |
| ['gc_stress', { |
| # Skip tests not suitable for GC stress. |
| 'allocation-site-info': [SKIP], |
| 'array-constructor-feedback': [SKIP], |
| 'array-feedback': [SKIP], |
| 'array-literal-feedback': [SKIP], |
| 'd8/d8-performance-now': [SKIP], |
| 'elements-kind': [SKIP], |
| 'elements-transition-hoisting': [SKIP], |
| 'fast-prototype': [SKIP], |
| 'field-type-tracking': [SKIP], |
| 'getters-on-elements': [SKIP], |
| 'es6/block-let-crankshaft': [SKIP], |
| 'opt-elements-kind': [SKIP], |
| 'osr-elements-kind': [SKIP], |
| 'compiler/number-divide': [SKIP], |
| 'regress/regress-crbug-137689': [SKIP], |
| 'regress/regress-trap-allocation-memento': [SKIP], |
| 'regress/regress-2249': [SKIP], |
| 'regress/regress-3709': [SKIP], |
| 'regress/regress-4121': [SKIP], |
| 'regress/regress-6989': [SKIP], |
| 'compare-known-objects-slow': [SKIP], |
| 'compiler/array-multiple-receiver-maps': [SKIP], |
| # Tests taking too long |
| 'regress/regress-1122': [SKIP], |
| 'regress/regress-331444': [SKIP], |
| 'regress/regress-353551': [SKIP], |
| 'regress/regress-1138075': [SKIP], |
| 'regress/regress-1138611': [SKIP], |
| 'regress/regress-crbug-119926': [SKIP], |
| 'regress/short-circuit': [SKIP], |
| 'stack-traces-overflow': [SKIP], |
| 'unicode-test': [SKIP], |
| 'whitespaces': [SKIP], |
| |
| # Unsuitable for GC stress because coverage information is lost on GC. |
| 'code-coverage-ad-hoc': [SKIP], |
| 'code-coverage-precise': [SKIP], |
| |
| # Takes too long with TF. |
| 'array-sort': [PASS, NO_VARIANTS], |
| 'regress/regress-91008': [PASS, NO_VARIANTS], |
| 'regress/regress-transcendental': [PASS, ['arch == arm64', NO_VARIANTS]], |
| 'compiler/osr-regress-max-locals': [PASS, NO_VARIANTS], |
| 'math-floor-of-div': [PASS, SLOW, NO_VARIANTS], |
| 'unicodelctest': [PASS, NO_VARIANTS], |
| 'unicodelctest-no-optimization': [PASS, NO_VARIANTS], |
| |
| # TODO(jkummerow): Doesn't work correctly in GC stress. |
| 'regress/regress-crbug-500497': [SKIP], |
| |
| # Too slow for gc stress. |
| 'asm/embenchen/box2d': [SKIP], |
| |
| # Too slow for gc stress, BUG(v8:9506): times out. |
| 'wasm/shared-memory-worker-explicit-gc-stress': [SKIP], |
| 'wasm/shared-memory-worker-gc-stress': [SKIP], |
| |
| # BUG(v8:4237) |
| 'regress/regress-3976': [SKIP], |
| |
| # Slow tests. |
| 'array-constructor': [PASS, SLOW], |
| 'json': [PASS, SLOW], |
| |
| # BUG(v8:4779): Crashes flakily with stress mode on arm64. |
| 'array-splice': [PASS, SLOW, ['arch == arm64', NO_VARIANTS]], |
| |
| # BUG(v8:7880): Slow tests. |
| 'regress/regress-707066': [SKIP], |
| 'regress/regress-446389': [SKIP], |
| 'regress/regress-458987': [SKIP], |
| 'es6/regress/regress-crbug-465671': [SKIP], |
| 'regress/regress-inline-getter-near-stack-limit': [SKIP], |
| 'es6/regress/regress-crbug-465671-null': [SKIP], |
| 'regress/regress-148378': [SKIP], |
| 'regress/regress-crbug-762472': [SKIP], |
| |
| # BUG(v8:10035) |
| 'compiler/deopt-array-builtins': [SKIP], |
| }], # 'gc_stress' |
| |
| ############################################################################## |
| ['lite_mode or variant == jitless', { |
| # Skip tests not suitable for lite_mode. |
| |
| # TODO(v8:7777): Re-enable once wasm is supported in jitless mode. |
| 'regress/regress-5888': [SKIP], |
| 'regress/regress-5911': [SKIP], |
| 'regress/regress-813440': [SKIP], |
| 'regress/regress-crbug-746835': [SKIP], |
| 'regress/regress-crbug-772056': [SKIP], |
| 'regress/regress-crbug-816961': [SKIP], |
| 'regress/regress-crbug-969498': [SKIP], |
| 'regress/regress-crbug-1047368': [SKIP], |
| 'regress/wasm/*': [SKIP], |
| 'regress/regress-8947': [SKIP], |
| 'regress/regress-9209': [SKIP], |
| 'regress/regress-1034394': [SKIP], |
| 'regress/regress-v8-9106': [SKIP], |
| 'wasm/*': [SKIP], |
| |
| # Other tests that use asm / wasm / optimized code. |
| 'asm/asm-heap': [SKIP], |
| 'asm/asm-validation': [SKIP], |
| 'asm/call-stdlib': [SKIP], |
| 'asm/call-annotation': [SKIP], |
| 'asm/global-imports': [SKIP], |
| 'asm/regress-1027595': [SKIP], |
| 'asm/regress-1069173': [SKIP], |
| 'asm/regress-913822': [SKIP], |
| 'asm/regress-937650': [SKIP], |
| 'asm/regress-9531': [SKIP], |
| 'asm/return-types': [SKIP], |
| 'regress/regress-599719': [SKIP], |
| 'regress/regress-6196': [SKIP], |
| 'regress/regress-6700': [SKIP], |
| 'regress/regress-6838-2': [SKIP], |
| 'regress/regress-6838-3': [SKIP], |
| 'regress/regress-6838-4': [SKIP], |
| 'regress/regress-9022': [SKIP], |
| 'regress/regress-9832': [SKIP], |
| 'regress/regress-crbug-934138': [SKIP], |
| 'regress/regress-crbug-976934': [SKIP], |
| |
| # Timeouts in lite / jitless mode. |
| 'asm/embenchen/*': [SKIP], |
| |
| # Tests that generate code at runtime. |
| 'code-comments': [SKIP], |
| 'regress/regress-617526': [SKIP], |
| 'regress/regress-7893': [SKIP], |
| 'regress/regress-8377': [SKIP], |
| 'regress/regress-863810': [SKIP], |
| 'regress/regress-crbug-721835': [SKIP], |
| 'regress/regress-crbug-759327': [SKIP], |
| 'regress/regress-crbug-898974': [SKIP], |
| 'regexp-tier-up': [SKIP], |
| 'regexp-tier-up-multiple': [SKIP], |
| 'regress/regress-996234': [SKIP], |
| |
| # These tests check that we can trace the compiler. |
| 'tools/compiler-trace-flags': [SKIP], |
| 'tools/compiler-trace-flags-wasm': [SKIP], |
| |
| # Too slow on arm64 simulator and debug: https://crbug.com/v8/7783 |
| 'md5': [PASS, ['arch == arm64 and mode == debug and simulator_run', SKIP]], |
| |
| # Slow with pointer compression. |
| 'regress/regress-crbug-319860': [PASS, ['pointer_compression', SLOW]], |
| |
| # Flag --interpreted-frames-native-stack incompatible with jitless |
| 'regress/regress-10138': [SKIP], |
| 'regress/regress-1078913': [SKIP], |
| }], # 'lite_mode or variant == jitless' |
| |
| ############################################################################## |
| ['no_i18n', { |
| # Case-insensitive unicode regexp relies on case mapping provided by ICU. |
| 'es6/unicode-regexp-ignore-case': [FAIL], |
| 'regress/regress-5036': [FAIL], |
| 'es7/regexp-ui-word': [FAIL], |
| 'regexp-modifiers-i18n': [FAIL], |
| 'regexp-modifiers-autogenerated-i18n': [FAIL], |
| |
| # Desugaring regexp property class relies on ICU. Anything goes as long as we |
| # don't crash. |
| 'harmony/regexp-property-*': [PASS,FAIL], |
| 'regress/regress-793588': [PASS,FAIL], |
| |
| # noi18n build cannot parse characters in supplementary plane. |
| 'harmony/regexp-named-captures': [FAIL], |
| |
| # noi18n cannot turn on ICU backend for Date. Anything goes as long as we |
| # don't crash. |
| 'icu-date-to-string': [PASS,FAIL], |
| 'icu-date-lord-howe': [PASS,FAIL], |
| 'tzoffset-transition-apia': [PASS,FAIL], |
| 'tzoffset-transition-lord-howe': [PASS,FAIL], |
| 'tzoffset-transition-moscow': [PASS,FAIL], |
| 'tzoffset-transition-new-york': [PASS,FAIL], |
| 'tzoffset-seoul': [PASS,FAIL], |
| |
| # noi18n is required for Intl |
| 'regress/regress-crbug-1052647': [PASS,FAIL], |
| }], # 'no_i18n' |
| |
| ############################################################################## |
| ['is_full_debug', { |
| # Tests too slow in non-optimized debug mode. |
| 'regress/regress-2790': [SKIP], |
| 'regress/regress-331444': [SKIP], |
| 'regress/regress-740784': [SKIP], |
| 'regress/regress-992389': [SKIP], |
| }], # 'is_full_debug' |
| |
| ############################################################################## |
| ['byteorder == big', { |
| # Emscripten requires little-endian, skip all tests on big endian platforms. |
| 'asm/embenchen/*': [SKIP], |
| 'asm/poppler/*': [SKIP], |
| 'asm/sqlite3/*': [SKIP], |
| # TODO(mips-team): Fix Wasm for big-endian. |
| 'wasm/*': [SKIP], |
| }], # 'byteorder == big' |
| |
| ############################################################################## |
| # 32-bit platforms |
| ['arch in (ia32, arm, mips, mipsel)', { |
| # Needs >2GB of available contiguous memory. |
| 'wasm/grow-huge-memory': [SKIP], |
| 'wasm/huge-memory': [SKIP], |
| 'wasm/huge-typedarray': [SKIP], |
| }], # 'arch in (ia32, arm, mips, mipsel)' |
| |
| ############################################################################## |
| ['arch == 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. |
| 'asm/embenchen/box2d': [SKIP], |
| 'asm/embenchen/lua_binarytrees': [SKIP], |
| 'compiler/regress-arguments': [SKIP], |
| 'compiler/regress-gvn': [SKIP], |
| 'compiler/regress-4': [SKIP], |
| 'compiler/regress-or': [SKIP], |
| 'compiler/regress-rep-change': [SKIP], |
| 'regress/regress-1117': [SKIP], |
| 'regress/regress-1849': [SKIP], |
| 'regress/regress-3247124': [SKIP], |
| 'regress/regress-91008': [SKIP], |
| 'regress/regress-91010': [SKIP], |
| 'regress/regress-91013': [SKIP], |
| 'regress/regress-99167': [SKIP], |
| |
| # BUG(v8:3457). |
| 'deserialize-reference': [PASS, FAIL], |
| |
| # BUG(v8:4016) |
| 'regress/regress-crbug-467047': [SKIP], |
| |
| # OOMing tests |
| 'regress/regress-500980': [SKIP], |
| |
| # BUG(v8:9337). |
| 'compiler/regress-9017': [SKIP], |
| |
| # Slow tests. |
| 'array-indexing': [PASS, SLOW], |
| 'array-reduce': [PASS, SLOW], |
| 'array-sort': [PASS, SLOW], |
| 'array-splice': [PASS, SLOW], |
| 'compiler/alloc-number': [PASS, SLOW], |
| 'compiler/osr-with-args': [PASS, SLOW], |
| 'frozen-array-reduce': [PASS, SLOW], |
| 'generated-transition-stub': [PASS, SLOW], |
| 'json2': [PASS, SLOW], |
| 'math-floor-of-div-nosudiv': [PASS, SLOW], |
| 'messages': [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], |
| 'wasm/atomics': [PASS, SLOW], |
| 'whitespaces': [PASS, SLOW], |
| |
| # BUG(v8:10032). |
| 'array-store-and-grow': [PASS, SLOW], |
| |
| # BUG(v8:7247). |
| 'regress/regress-779407': [PASS, SLOW, NO_VARIANTS], |
| }], # 'arch == arm64' |
| |
| ############################################################################## |
| ['arch == arm64 and simulator_run', { |
| 'compiler/osr-big': [PASS, SLOW], |
| 'regress/regress-454725': [PASS, SLOW], |
| 'json': [PASS, SLOW], |
| 'try': [PASS, SLOW], |
| 'non-extensible-array-reduce': [PASS, SLOW], |
| }], # 'arch == arm64 and simulator_run' |
| |
| ############################################################################## |
| ['arch == arm64 and mode == debug and simulator_run', { |
| |
| # Pass but take too long with the simulator in debug mode. |
| 'array-sort': [PASS, SLOW], |
| 'regexp-global': [SKIP], |
| 'math-floor-of-div-nosudiv': [PASS, SLOW], |
| 'unicodelctest': [PASS, SLOW], |
| 'unicodelctest-no-optimization': [PASS, SLOW], |
| # Issue 3219: |
| 'getters-on-elements': [PASS, ['gc_stress == True', FAIL]], |
| }], # 'arch == arm64 and mode == debug and simulator_run' |
| |
| ############################################################################## |
| ['asan == True', { |
| # Skip tests not suitable for ASAN. |
| 'big-array-literal': [SKIP], |
| 'regress/regress-crbug-178790': [SKIP], |
| |
| # https://bugs.chromium.org/p/v8/issues/detail?id=4639 |
| # The failed allocation causes an asan/msan/tsan error |
| 'es6/typedarray-construct-offset-not-smi': [SKIP], |
| |
| # Exception thrown during bootstrapping on ASAN builds, see issue 4236. |
| 'regress/regress-1132': [SKIP], |
| |
| # Flaky on ASAN builds: https://bugs.chromium.org/p/v8/issues/detail?id=6305 |
| 'regress/regress-430201': [SKIP], |
| 'regress/regress-430201b': [SKIP], |
| |
| # Stack overflow on windows. |
| 'es8/regress/regress-624300': [PASS, ['system == windows', SKIP]], |
| |
| # https://bugs.chromium.org/p/v8/issues/detail?id=7102 |
| # Flaky due to huge string allocation. |
| 'regress/regress-748069': [SKIP], |
| }], # 'asan == True' |
| |
| ############################################################################## |
| ['msan == True', { |
| # Skip tests not suitable for MSAN. |
| 'big-array-literal': [SKIP], |
| # ICU upstream issues. |
| 'date': [SKIP], |
| 'deep-recursion': [SKIP], |
| 'regress/regress-builtinbust-7': [SKIP], |
| 'string-localecompare': [SKIP], |
| |
| # Too slow. |
| 'asm/embenchen/zlib': [SKIP], |
| 'harmony/regexp-property-lu-ui': [SKIP], |
| 'regress/regress-779407': [SKIP], |
| 'wasm/embenchen/box2d': [SKIP], |
| 'wasm/embenchen/lua_binarytrees': [SKIP], |
| 'wasm/embenchen/zlib': [SKIP], |
| |
| # https://bugs.chromium.org/p/v8/issues/detail?id=7102 |
| # Flaky due to huge string allocation. |
| 'regress/regress-748069': [SKIP], |
| }], # 'msan == True' |
| |
| ############################################################################## |
| ['tsan == True', { |
| |
| # https://bugs.chromium.org/p/v8/issues/detail?id=7102 |
| # Flaky due to huge string allocation. |
| 'regress/regress-748069': [SKIP], |
| |
| # BUG(v8:7042). Uses a lot of memory. |
| 'regress/regress-678917': [SKIP], |
| |
| # BUG(v8:8103). Uses a lot of memory. |
| 'regress/regress-852258': [SKIP], |
| |
| # BUG(v8:6924). The test uses a lot of memory. |
| 'regress/wasm/regress-694433': [SKIP], |
| 'es6/typedarray': [PASS, NO_VARIANTS], |
| 'regress/regress-752764': [PASS, SLOW, NO_VARIANTS], |
| |
| # BUG(v8:9242). Uses a lot of memory. |
| 'regress/regress-599414-array-concat-fast-path': [PASS, SLOW], |
| |
| # BUG(v8:9026). Flaky timeouts. |
| 'es6/large-classes-properties': [SKIP], |
| |
| # Slow tests. |
| 'compiler/regress-1125145': [SKIP], |
| 'es6/block-conflicts-sloppy': [PASS, SLOW], |
| 'math-floor-part1': [PASS, SLOW], |
| 'regress/regress-430201': [SKIP], |
| 'regress/regress-500980': [PASS, SLOW], |
| |
| # BUG(v8:9506): times out. |
| 'wasm/shared-memory-worker-explicit-gc-stress': [SKIP], |
| }], # 'tsan == True' |
| |
| ############################################################################## |
| ['arch == arm', { |
| |
| # Slow tests which times out in debug mode. |
| 'try': [PASS, ['mode == debug', SKIP]], |
| 'array-constructor': [PASS, ['mode == debug', SKIP]], |
| 'regress/regress-1122': [PASS, SLOW, ['mode == debug', SKIP]], |
| |
| # Flaky test that can hit compilation-time stack overflow in debug mode. |
| 'unicode-test': [PASS, ['mode == debug', FAIL]], |
| |
| # Slow in release mode on ARM. |
| 'compiler/regress-stacktrace-methods': [PASS, SLOW], |
| 'array-splice': [PASS, SLOW], |
| |
| # Long running tests. Skipping because having them timeout takes too long on |
| # the buildbot. |
| 'compiler/alloc-number': [SKIP], |
| 'regress/regress-490': [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], |
| |
| # Currently always deopt on minus zero |
| 'math-floor-of-div-minus-zero': [SKIP], |
| |
| # BUG(v8:9337). |
| 'compiler/regress-9017': [SKIP], |
| |
| # Slow tests. |
| 'array-sort': [PASS, SLOW], |
| 'compiler/osr-with-args': [PASS, SLOW], |
| 'regress/regress-2790': [PASS, SLOW], |
| 'regress/regress-91008': [PASS, SLOW], |
| 'regress/regress-json-stringify-gc': [PASS, SLOW], |
| 'string-indexof-2': [PASS, SLOW], |
| 'wasm/atomics': [PASS, SLOW], |
| }], # 'arch == arm |
| |
| ############################################################################## |
| ['arch in (mipsel, mips, mips64el, mips64) and not simulator_run', { |
| # These tests fail occasionally on the buildbots because they consume |
| # a large amount of memory if executed in parallel. Therefore we |
| # run only a single instance of these tests |
| 'regress/regress-crbug-514081': [PASS, NO_VARIANTS], |
| 'regress/regress-599414-array-concat-fast-path': [PASS, NO_VARIANTS], |
| 'array-functions-prototype-misc': [PASS, NO_VARIANTS], |
| }], # 'arch in (mipsel, mips, mips64el, mips64)' |
| |
| ############################################################################## |
| ['arch in (mipsel, mips, mips64el, mips64, ppc, ppc64)', { |
| # These tests fail because qNaN and sNaN values are encoded differently on |
| # MIPS and ARM/x86 architectures |
| 'wasm/float-constant-folding': [SKIP], |
| }], |
| |
| ############################################################################## |
| ['arch == mipsel or arch == mips', { |
| |
| # Slow tests which times out in debug mode. |
| 'try': [PASS, ['mode == debug', SKIP]], |
| 'array-constructor': [PASS, ['mode == debug', SKIP]], |
| |
| # Slow in release mode on MIPS. |
| 'compiler/regress-stacktrace-methods': [PASS, SLOW], |
| 'array-splice': [PASS, SLOW], |
| |
| # Long running test. |
| 'string-indexof-2': [PASS, SLOW], |
| |
| # Long running tests. Skipping because having them timeout takes too long on |
| # the buildbot. |
| 'compiler/alloc-number': [SKIP], |
| 'regress/regress-490': [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], |
| |
| # Currently always deopt on minus zero |
| 'math-floor-of-div-minus-zero': [SKIP], |
| |
| # Requires too much memory on MIPS. |
| 'regress/regress-752764': [SKIP], |
| 'regress/regress-779407': [SKIP], |
| 'harmony/bigint/regressions': [SKIP], |
| |
| # Pre-r6 MIPS32 doesn't have instructions needed to properly handle 64-bit |
| # atomic instructions. |
| 'wasm/atomics64-stress': [PASS, ['mips_arch_variant != r6', SKIP]], |
| }], # 'arch == mipsel or arch == mips' |
| |
| ############################################################################## |
| ['arch == mips64el or arch == mips64', { |
| |
| # Slow tests which times out in debug mode. |
| 'try': [PASS, ['mode == debug', SKIP]], |
| 'array-constructor': [PASS, ['mode == debug', SKIP]], |
| |
| # Slow in release mode on MIPS. |
| 'compiler/regress-stacktrace-methods': [PASS, SLOW], |
| 'array-splice': [PASS, SLOW], |
| |
| # Long running test. |
| 'string-indexof-2': [PASS, SLOW], |
| |
| # BUG(3251035): Timeouts in long looping crankshaft optimization |
| # tests. Skipping because having them timeout takes too long on the |
| # buildbot. |
| 'compiler/alloc-number': [PASS, SLOW], |
| 'compiler/array-length': [PASS, SLOW], |
| 'compiler/assignment-deopt': [PASS, SLOW], |
| 'compiler/deopt-args': [PASS, SLOW], |
| 'compiler/inline-compare': [PASS, SLOW], |
| 'compiler/inline-global-access': [PASS, SLOW], |
| 'compiler/optimized-function-calls': [PASS, SLOW], |
| 'compiler/pic': [PASS, SLOW], |
| 'compiler/property-calls': [PASS, SLOW], |
| 'compiler/recursive-deopt': [PASS, SLOW], |
| 'compiler/regress-4': [PASS, SLOW], |
| 'compiler/regress-funcaller': [PASS, SLOW], |
| 'compiler/regress-rep-change': [PASS, SLOW], |
| 'compiler/regress-arguments': [PASS, SLOW], |
| 'compiler/regress-funarguments': [PASS, SLOW], |
| 'compiler/regress-3249650': [PASS, SLOW], |
| 'compiler/simple-deopt': [PASS, SLOW], |
| 'regress/regress-490': [PASS, SLOW], |
| 'regress/regress-create-exception': [PASS, SLOW], |
| 'regress/regress-3218915': [PASS, SLOW], |
| 'regress/regress-3247124': [PASS, SLOW], |
| |
| # 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], |
| |
| # Currently always deopt on minus zero |
| 'math-floor-of-div-minus-zero': [SKIP], |
| |
| # Requires too much memory on MIPS. |
| 'regress/regress-752764': [SKIP], |
| 'regress/regress-779407': [SKIP], |
| }], # 'arch == mips64el or arch == mips64' |
| |
| ############################################################################## |
| ['system == windows', { |
| # Too slow with turbo fan. |
| 'math-floor-of-div': [PASS, ['mode == debug', SKIP]], |
| 'math-floor-of-div-nosudiv': [PASS, ['mode == debug', SKIP]], |
| 'unicodelctest': [PASS, ['mode == debug', SKIP]], |
| |
| # Setting the timezone and locale with environment variables unavailable |
| 'icu-date-to-string': [SKIP], |
| 'icu-date-lord-howe': [SKIP], |
| 'regress/regress-6288': [SKIP], |
| 'tzoffset-transition-apia': [SKIP], |
| 'tzoffset-transition-lord-howe': [SKIP], |
| 'tzoffset-transition-moscow': [SKIP], |
| 'tzoffset-transition-new-york': [SKIP], |
| 'tzoffset-transition-new-york-noi18n': [SKIP], |
| 'tzoffset-seoul': [SKIP], |
| 'tzoffset-seoul-noi18n': [SKIP], |
| }], # 'system == windows' |
| |
| ############################################################################## |
| ['system == android', { |
| # Tests consistently failing on Android. |
| # Setting the timezone and locale with environment variables unavailable |
| 'icu-date-to-string': [SKIP], |
| 'icu-date-lord-howe': [SKIP], |
| 'regress/regress-6288': [SKIP], |
| 'tzoffset-transition-apia': [SKIP], |
| 'tzoffset-transition-lord-howe': [SKIP], |
| 'tzoffset-transition-moscow': [SKIP], |
| 'tzoffset-transition-new-york': [SKIP], |
| 'tzoffset-transition-new-york-noi18n': [SKIP], |
| 'tzoffset-seoul': [SKIP], |
| 'tzoffset-seoul-noi18n': [SKIP], |
| # OOM: |
| 'regress/regress-752764': [FAIL], |
| # Flaky OOM: |
| 'regress/regress-748069': [SKIP], |
| 'regress/regress-779407': [SKIP], |
| 'regress/regress-852258': [SKIP], |
| }], # 'system == android' |
| |
| ############################################################################## |
| ['isolates', { |
| # Slow tests. |
| 'es6/typedarray-of': [PASS, SLOW], |
| 'regress/regress-crbug-854299': [PASS, SLOW], |
| |
| # 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. |
| 'd8/d8-os': [SKIP], |
| |
| # Runs flakily OOM because multiple isolates are involved which create many |
| # wasm memories each. Before running OOM on a wasm memory allocation we |
| # trigger a GC, but only in the isolate allocating the new memory. |
| 'wasm/module-memory': [SKIP], |
| 'wasm/shared-memory-gc-stress': [SKIP], |
| |
| # The {FreezeWasmLazyCompilation} runtime function sets a flag in the native |
| # module, which causes a data-race if the native module is shared between |
| # isolates. |
| 'wasm/lazy-compilation': [SKIP], |
| |
| # Tier down/up Wasm NativeModule in debugging is non-deterministic with |
| # multiple isolates (https://crbug.com/v8/10099). |
| 'wasm/tier-down-to-liftoff': [SKIP], |
| |
| # Tier down/up Wasm functions is non-deterministic with |
| # multiple isolates, as dynamic tiering relies on a array shared |
| # in the module, that can be modified by all instances. |
| 'wasm/wasm-dynamic-tiering': [SKIP], |
| |
| # waitAsync tests modify the global state (across Isolates) |
| 'harmony/atomics-waitasync': [SKIP], |
| 'harmony/atomics-waitasync-1thread-2timeout': [SKIP], |
| 'harmony/atomics-waitasync-1thread-promise-out-of-scope': [SKIP], |
| 'harmony/atomics-waitasync-1thread-timeout': [SKIP], |
| 'harmony/atomics-waitasync-1thread-wake-up-fifo': [SKIP], |
| 'harmony/atomics-waitasync-1thread-wake-up-simple': [SKIP], |
| 'harmony/atomics-waitasync-worker-shutdown-before-wait-finished-timeout': [SKIP], |
| 'harmony/atomics-waitasync-worker-shutdown-before-wait-finished-no-timeout': [SKIP], |
| }], # 'isolates' |
| |
| ############################################################################## |
| ['deopt_fuzzer', { |
| |
| # Skip tests that are not suitable for deoptimization fuzzing. |
| 'never-optimize': [SKIP], |
| 'readonly': [SKIP], |
| 'array-feedback': [SKIP], |
| 'array-reduce': [SKIP], |
| 'deopt-recursive-eager-once': [SKIP], |
| 'deopt-recursive-lazy-once': [SKIP], |
| 'deopt-recursive-soft-once': [SKIP], |
| 'code-coverage-block-opt': [SKIP], |
| 'compiler/serializer-apply': [SKIP], |
| 'compiler/serializer-call': [SKIP], |
| 'compiler/serializer-dead-after-jump': [SKIP], |
| 'compiler/serializer-dead-after-return': [SKIP], |
| 'compiler/serializer-transition-propagation': [SKIP], |
| 'regress/regress-1049982-1': [SKIP], |
| 'regress/regress-1049982-2': [SKIP], |
| |
| # Bounds check triggers forced deopt for array constructors. |
| 'array-constructor-feedback': [SKIP], |
| |
| # Deopting uses just enough memory to make this one OOM. |
| 'regress/regress-3976': [SKIP], |
| |
| # Forced optimisation path tests. |
| 'shared-function-tier-up-turbo': [SKIP], |
| |
| # Too slow tests. |
| 'regress/regress-740784': [SKIP], |
| |
| # https://crbug.com/v8/9984 |
| 'compiler/opt-higher-order-functions': [SKIP], |
| }], # 'deopt_fuzzer' |
| |
| ############################################################################## |
| ['gc_fuzzer', { |
| 'regress/regress-336820': [SKIP], |
| 'regress/regress-748069': [SKIP], |
| 'regress/regress-778668': [SKIP], |
| 'ignition/regress-672027': [PASS, ['tsan', SKIP]], |
| 'string-replace-gc': [PASS, SLOW, ['mode == debug', SKIP]], |
| |
| # Unsuitable for GC fuzzing because coverage information is lost on GC. |
| 'code-coverage-ad-hoc': [SKIP], |
| 'code-coverage-precise': [SKIP], |
| |
| # Flaky under GC stress (sometimes precludes the tested optimization) |
| 'compiler/load-elimination-const-field': [SKIP], |
| |
| # Passes incompatible arguments. |
| 'd8/d8-arguments': [SKIP], |
| |
| # Fails allocation on tsan. |
| 'regress/regress-779407': [PASS, ['tsan', SKIP]], |
| |
| # Tests that fail some assertions due to checking internal state sensitive |
| # to GC. |
| 'compiler/native-context-specialization-hole-check': [SKIP], |
| 'compiler/serializer-apply': [SKIP], |
| 'compiler/serializer-call': [SKIP], |
| 'compiler/serializer-dead-after-jump': [SKIP], |
| 'compiler/serializer-dead-after-return': [SKIP], |
| 'compiler/serializer-transition-propagation': [SKIP], |
| 'opt-elements-kind': [SKIP], |
| 'regress/regress-trap-allocation-memento': [SKIP], |
| 'regress/regress-v8-9267-*': [SKIP], |
| 'shared-function-tier-up-turbo': [SKIP], |
| |
| }], # 'gc_fuzzer' |
| |
| ############################################################################## |
| ['endurance_fuzzer', { |
| # BUG(v8:7400). |
| 'wasm/lazy-compilation': [SKIP], |
| |
| # BUG(v8:7429). |
| 'regress/regress-599414-array-concat-fast-path': [SKIP], |
| |
| # Often crashes due to memory consumption. |
| 'regress/regress-655573': [SKIP], |
| |
| # TSAN allocation failures. |
| 'deep-recursion': [PASS, ['tsan', SKIP]], |
| 'regress/regress-430201b': [PASS, ['tsan', SKIP]], |
| 'regress/regress-crbug-493779': [PASS, ['tsan', SKIP]], |
| 'regress/wasm/regress-763439': [PASS, ['tsan', SKIP]], |
| }], # 'endurance_fuzzer' |
| |
| ############################################################################## |
| ['predictable == True', { |
| |
| # Skip tests that are known to be non-deterministic. |
| 'd8/d8-worker-sharedarraybuffer': [SKIP], |
| 'd8/d8-os': [SKIP], |
| 'd8/d8-worker-shutdown': [SKIP], |
| 'd8/d8-worker-shutdown-gc': [SKIP], |
| 'harmony/futex': [SKIP], |
| |
| # BUG(v8:7166). |
| 'd8/enable-tracing': [SKIP], |
| |
| # Rely on (blocking) concurrent compilation. |
| 'compiler/concurrent-invalidate-transition-map': [SKIP], |
| 'compiler/concurrent-proto-change': [SKIP], |
| 'compiler/manual-concurrent-recompile': [SKIP], |
| 'compiler/regress-905555-2': [SKIP], |
| 'compiler/regress-905555': [SKIP], |
| 'compiler/regress-9945-1': [SKIP], |
| 'concurrent-initial-prototype-change': [SKIP], |
| 'regress/regress-356053': [SKIP], |
| 'regress/regress-embedded-cons-string': [SKIP], |
| |
| # Intentionally non-deterministic using shared arraybuffers. |
| 'wasm/atomics-stress': [SKIP], |
| 'wasm/atomics64-stress': [SKIP], |
| 'wasm/futex': [SKIP], |
| 'regress/wasm/regress-1067621': [SKIP], |
| |
| # BUG(v8:9975). |
| 'es6/typedarray-copywithin': [SKIP], |
| }], # 'predictable == True' |
| |
| ############################################################################## |
| ['simulator_run and (arch in [ppc64, s390x])', { |
| |
| # take too long with the simulator. |
| 'regress/regress-1132': [SKIP], |
| 'regress/regress-740784': [SKIP], |
| 'regress/regress-crbug-482998': [PASS, SLOW], |
| 'regress/regress-91008': [PASS, SLOW], |
| 'regress/regress-779407': [PASS, SLOW], |
| 'harmony/regexp-property-lu-ui': [PASS, SLOW], |
| 'whitespaces': [PASS, SLOW], |
| 'generated-transition-stub': [PASS, SLOW], |
| }], # 'simulator_run and (arch in [ppc64, s390x])' |
| |
| ############################################################################## |
| ['arch == ppc64', { |
| |
| # stack overflow |
| 'big-array-literal': [SKIP], |
| 'regress/regress-353551': [SKIP], |
| }], # 'arch == ppc64' |
| |
| ############################################################################## |
| ['system == aix', { |
| # stack overflow |
| 'regress/regress-crbug-178790': [PASS, ['mode == debug', SKIP]], |
| }], # 'system == aix' |
| |
| ############################################################################## |
| ['arch == s390x', { |
| # stack overflow |
| 'regress/regress-crbug-178790': [PASS, ['mode == debug', SKIP]], |
| }], # 'arch == s390x' |
| |
| ############################################################################## |
| ['variant == stress', { |
| # Slow tests. |
| 'array-natives-elements': [SKIP], |
| 'ignition/regress-599001-verifyheap': [SKIP], |
| 'unicode-test': [SKIP], |
| |
| # The RegExp code cache means running this test multiple times is invalid. |
| 'regexp-tier-up': [SKIP], |
| 'regexp-tier-up-multiple': [SKIP], |
| |
| # Flaky crash on Odroid devices: https://crbug.com/v8/7678 |
| 'regress/regress-336820': [PASS, ['arch == arm and not simulator_run', SKIP]], |
| |
| # Goes OOM on ODROID devices: https://crbug.com/v8/9026 |
| # Too slow on PPC: https://crbug.com/v8/9246 |
| 'es6/large-classes-properties': [PASS, SLOW, ['(arch == arm and not simulator_run) or arch in [ppc, ppc64]', SKIP]], |
| 'regress/regress-1122': [PASS, ['tsan', SKIP]], |
| |
| # Too slow with gc_stress on arm64. |
| 'messages': [PASS, ['gc_stress and arch == arm64', SKIP]], |
| |
| # Slow on arm64 simulator: https://crbug.com/v8/7783 |
| 'string-replace-gc': [PASS, ['arch == arm64 and simulator_run', SKIP]], |
| |
| # Too memory hungry. |
| 'regress/regress-779407': [PASS, ['tsan', SKIP]], |
| 'regress/regress-599414-array-concat-fast-path': [PASS, ['tsan', SKIP]], |
| |
| # Too memory hungry on Odroid devices. |
| 'regress/regress-678917': [PASS, ['arch == arm and not simulator_run', SKIP]], |
| }], # variant == stress |
| |
| ############################################################################## |
| ['variant == stress and (arch == arm or arch == arm64) and simulator_run', { |
| # Slow tests: https://crbug.com/v8/7783 |
| 'es6/large-classes-properties': [SKIP], |
| 'generated-transition-stub': [SKIP], |
| 'regress/regress-336820': [SKIP], |
| }], # variant == stress and (arch == arm or arch == arm64) and simulator_run |
| |
| ############################################################################## |
| ['variant in (nooptimization, jitless) and arch in (arm, arm64) and simulator_run', { |
| # Slow tests: https://crbug.com/v8/7783 |
| 'regress/regress-crbug-319860': [SKIP], |
| }], # variant == nooptimization and (arch == arm or arch == arm64) and simulator_run |
| |
| ############################################################################## |
| ['variant == nooptimization', { |
| # Tests that depend on optimization (beyond doing assertOptimized). |
| 'regress/regress-1049982-1': [SKIP], |
| 'regress/regress-1049982-2': [SKIP], |
| # Wasm serialization relies on TurboFan to be available, hence does not work |
| # in the 'nooptimization' variant. |
| 'regress/wasm/regress-7785': [SKIP], |
| }], # variant == nooptimization |
| |
| ############################################################################## |
| ['(arch == arm or arch == arm64)', { |
| # Flaky tests: https://crbug.com/v8/8090 |
| 'regress/regress-752764': [SKIP], |
| }], # (arch == arm or arch == arm64) |
| |
| ############################################################################## |
| ['gcov_coverage', { |
| # Tests taking too long. |
| 'array-functions-prototype-misc': [SKIP], |
| |
| # Stack overflow. |
| 'big-array-literal': [SKIP], |
| }], # 'gcov_coverage' |
| |
| ############################################################################## |
| ['variant == no_wasm_traps', { |
| # Skip stuff uninteresting for wasm traps |
| 'bugs/*': [SKIP], |
| 'compiler/*': [SKIP], |
| 'es6/*': [SKIP], |
| 'es7/*': [SKIP], |
| 'es8/*': [SKIP], |
| 'harmony/*': [SKIP], |
| 'ignition/*': [SKIP], |
| 'lithium/*': [SKIP], |
| 'third_party/*': [SKIP], |
| 'tools/*': [SKIP], |
| 'apply': [SKIP], |
| 'math-*': [SKIP], |
| 'unicode-test': [SKIP], |
| 'whitespaces': [SKIP], |
| }], # variant == no_wasm_traps |
| |
| ############################################################################## |
| ['no_harness', { |
| # skip assertion tests since the stack trace is broken if mjsunit is |
| # included in the snapshot |
| 'mjsunit-assertion-error': [SKIP], |
| }], # no_harness |
| |
| ############################################################################## |
| ['arch != x64 or deopt_fuzzer', { |
| # Skip stress-deopt-count tests since it's in x64 only |
| 'compiler/stress-deopt-count-*': [SKIP], |
| }], # arch != x64 or deopt_fuzzer |
| |
| ############################################################################## |
| # Liftoff is currently only sufficiently implemented on x64, ia32, arm64 and |
| # arm. |
| # TODO(clemensb): Implement on all other platforms (crbug.com/v8/6600). |
| ['arch not in (x64, ia32, arm64, arm)', { |
| 'wasm/liftoff': [SKIP], |
| 'wasm/tier-up-testing-flag': [SKIP], |
| 'wasm/tier-down-to-liftoff': [SKIP], |
| 'wasm/wasm-dynamic-tiering': [SKIP], |
| }], # arch not in (x64, ia32, arm64, arm) |
| |
| ############################################################################## |
| ['system != linux', { |
| # Multi-mapped mock allocator is only available on Linux. |
| 'regress/regress-crbug-1041232': [SKIP], |
| 'regress/regress-crbug-1104608': [SKIP], |
| }], |
| |
| ############################################################################## |
| ['variant == turboprop', { |
| # Deopts differently than TurboFan. |
| 'compiler/native-context-specialization-hole-check': [SKIP], |
| 'compiler/number-comparison-truncations': [SKIP], |
| 'compiler/redundancy-elimination': [SKIP], |
| 'compiler/regress-9945-*': [SKIP], |
| 'es6/super-ic-opt-no-turboprop': [SKIP], |
| |
| # Static asserts for optimizations don't hold due to removed optimization |
| # phases. |
| 'compiler/concurrent-inlining-1': [SKIP], |
| 'compiler/concurrent-inlining-2': [SKIP], |
| 'compiler/constant-fold-add-static': [SKIP], |
| 'compiler/diamond-followedby-branch': [SKIP], |
| 'compiler/is-being-interpreted-*': [SKIP], |
| 'compiler/load-elimination-const-field': [SKIP], |
| 'compiler/serializer-accessors': [SKIP], |
| 'compiler/serializer-apply': [SKIP], |
| 'compiler/serializer-call': [SKIP], |
| 'compiler/serializer-dead-after-jump': [SKIP], |
| 'compiler/serializer-dead-after-return': [SKIP], |
| 'compiler/serializer-feedback-propagation-*': [SKIP], |
| 'compiler/serializer-transition-propagation': [SKIP], |
| |
| # Some tests rely on inlining. |
| 'compiler/inlined-call-polymorphic': [SKIP], |
| 'compiler/opt-higher-order-functions': [SKIP], |
| 'regress/regress-1049982-1': [SKIP], |
| 'regress/regress-1049982-2': [SKIP], |
| 'es6/iterator-eager-deopt': [SKIP], |
| |
| # In turboprop we reuse the optimized code on soft deopt. The following tests |
| # test for a soft deopt and they won't work in TurboProp. |
| 'deopt-recursive-soft-once': [SKIP], |
| 'regress/regress-3709': [SKIP], |
| 'regress/regress-5790': [SKIP], |
| |
| # const field tracking is disabled in turboprop |
| 'const-field-tracking': [SKIP], |
| |
| # Dynamic map checks doesn't use information from maps so we don't inline |
| # array builtins or track field representation. |
| 'compiler/deopt-inlined-from-call': [SKIP], |
| 'compiler/field-representation-tracking': [SKIP], |
| 'field-type-tracking': [SKIP], |
| |
| # We don't migrate deprecated maps with dynamic map checks. This will be |
| # fixed in a later cl. |
| # TODO(mythria): Reenable this when the cl that migrates deprecated maps |
| # lands |
| 'regress/regress-932953': [PASS], |
| |
| # Tests failing for the lack of function context specialization in Turboprop. |
| 'compiler/abstract-equal-receiver': [FAIL], |
| 'compiler/constant-fold-cow-array': [FAIL], |
| 'compiler/promise-resolve-stable-maps': [FAIL], |
| |
| # https://crbug.com/v8/10894 |
| 'math-floor-of-div': [SLOW], |
| }], # variant == turboprop |
| |
| ############################################################################## |
| ['variant == top_level_await', { |
| # specifically expects to fail on top level await. |
| 'harmony/modules-import-15': [SKIP], |
| }], # variant == top_level_await |
| |
| ############################################################################## |
| ['variant == stress_js_bg_compile_wasm_code_gc', { |
| # Runs significantly slower with --stress-wasm-code-gc, problematic |
| # especially in combination with tsan or other slow configurations. |
| 'wasm/many-modules': [SKIP], |
| }], # variant == stress_js_bg_compile_wasm_code_gc |
| |
| ############################################################################## |
| ['variant == assert_types', { |
| # Type assertions can lead to differences in representation selection, |
| # which in turn can lead to different deopt behavior. |
| 'compiler/number-abs': [SKIP], |
| 'compiler/number-toboolean': [SKIP], |
| }], # variant == assert_types |
| |
| ############################################################################## |
| ['variant == stress_snapshot and arch != x64', { |
| # Deserialization fails due to read-only snapshot checksum verification. |
| # https://crbug.com/v8/10491 |
| '*': [SKIP], |
| }], # variant == stress_snapshot and arch != x64 |
| |
| ############################################################################## |
| ['variant == stress_snapshot and arch == x64', { |
| # Crashes the serializer due to recursion. |
| 'deep-recursion': [SKIP], |
| 'string-replace-gc': [SKIP], |
| # Debug check failed: |
| # map == GetReadOnlyRoots(isolate).fixed_array_map() || map == GetReadOnlyRoots(isolate).fixed_cow_array_map(). |
| # This means a mismatch of elements kinds / elements on the global object. |
| 'es6/block-sloppy-function': [SKIP], |
| 'es6/reflect-get-own-property-descriptor': [SKIP], |
| 'es6/reflect': [SKIP], |
| 'get-own-property-descriptor': [SKIP], |
| 'global-properties': [SKIP], |
| 'indexed-accessors': [SKIP], |
| 'object-freeze-global': [SKIP], |
| 'object-seal-global': [SKIP], |
| 'regress/regress-1103': [SKIP], |
| 'regress/regress-1112': [SKIP], |
| 'regress/regress-1120': [SKIP], |
| 'regress/regress-2346': [SKIP], |
| 'regress/regress-489151': [SKIP], |
| 'regress/regress-crbug-1002628': [SKIP], |
| 'regress/regress-crbug-454091': [SKIP], |
| 'regress/regress-crbug-663750': [SKIP], |
| 'regress/regress-freeze-setter': [SKIP], |
| # TODO(v8:10494): asm Code objects can't be flushed and end up in the isolate |
| # serializer. |
| 'asm/*': [SKIP], |
| 'compiler/regress-439743': [SKIP], |
| 'regress/regress-441099': [SKIP], |
| 'regress/regress-617526': [SKIP], |
| 'regress/regress-6196': [SKIP], |
| 'regress/regress-677685': [SKIP], |
| 'regress/regress-7893': [SKIP], |
| 'regress/regress-799690': [SKIP], |
| 'regress/regress-8377': [SKIP], |
| 'regress/regress-crbug-1047368': [SKIP], |
| 'regress/regress-crbug-898974': [SKIP], |
| 'regress/regress-crbug-935800': [SKIP], |
| 'regress/regress-crbug-976934': [SKIP], |
| 'regress/wasm/*': [SKIP], |
| 'wasm/*': [SKIP], |
| # Investigate (IsScript). |
| 'harmony/import-from-compilation-errored': [SKIP], |
| 'harmony/private-fields-special-object': [SKIP], |
| # Skip, since import errors since they refer to the script via debug symbols |
| 'harmony/import-from-instantiation-errored': [SKIP], |
| # Investigate (JSFunction in startup serializer). |
| 'regress/regress-1034394': [SKIP], |
| 'regress/regress-863810': [SKIP], |
| 'regress/regress-crbug-772056': [SKIP], |
| # The entire snapshotting code assumes that the snapshot size fits |
| # into an int, so it doesn't support huge TypedArrays. |
| 'regress/regress-319722-ArrayBuffer': [SKIP], |
| 'regress/regress-667603': [SKIP], |
| 'regress/regress-crbug-1104608': [SKIP], |
| # Investigate (IsFixedArrayBase). |
| 'regress/regress-786784': [SKIP], |
| 'regress/regress-v8-9656': [SKIP], |
| # Investigate (startup_serializer_->ReferenceMapContains(obj)). |
| 'regress/regress-813440': [SKIP], |
| # Investigate (segfault). |
| 'regress/regress-crbug-397662': [SKIP], |
| # Script referenced only through context-dependent SourceTextModule |
| # https://bugs.chromium.org/p/v8/issues/detail?id=11073 |
| 'tools/processor': [SKIP], |
| }], # variant == stress_snapshot and arch == x64 |
| |
| ############################################################################## |
| ['variant == slow_path', { |
| # This tests creates a pretty big array and calls Array.prototype.slice on |
| # it. In the slow path, this results in one runtime call per element, which |
| # takes several minutes overall. |
| 'regress/wasm/regress-9017': [SKIP], |
| }], # variant == slow_path |
| |
| ################################################################################ |
| ['variant == nci or variant == nci_as_midtier', { |
| # Deopts differently than TurboFan. |
| # Deoptimization support is still incomplete in general, since deopts can |
| # only happen when explicitly requested by tests. NCI code objects are then |
| # set as marked_for_deoptimization *and never unset*, which means functions |
| # with attached NCI code objects will never again count as optimized. |
| # TODO(jgruber): Fix this once deopts can occur outside tests. |
| 'compiler/is-being-interpreted*': [SKIP], |
| 'compiler/number-comparison-truncations': [SKIP], |
| 'compiler/redundancy-elimination': [SKIP], |
| 'compiler/regress-9945-*': [SKIP], |
| 'regress/regress-1049982-1': [SKIP], |
| 'regress/regress-1049982-2': [SKIP], |
| 'compiler/test-dynamic-map-*': [SKIP], |
| 'es6/collections-constructor-iterator-side-effect': [SKIP], |
| 'es6/collections-constructor-with-modified-protoype': [SKIP], |
| # assertUnoptimized: assumes full turbofan pipeline. |
| 'allocation-site-info': [SKIP], |
| 'array-bounds-check-removal': [SKIP], |
| 'array-constructor-feedback': [SKIP], |
| 'array-literal-feedback': [SKIP], |
| 'array-literal-transitions': [SKIP], |
| 'array-push5': [SKIP], |
| 'array-store-and-grow': [SKIP], |
| 'check-bounds-array-index': [SKIP], |
| 'check-bounds-string-from-char-code-at': [SKIP], |
| 'compiler/abstract-equal-oddball': [SKIP], |
| 'compiler/abstract-equal-receiver': [SKIP], |
| 'compiler/abstract-equal-symbol': [SKIP], |
| 'compiler/abstract-equal-undetectable': [SKIP], |
| 'compiler/array-multiple-receiver-maps': [SKIP], |
| 'compiler/bigint-add-no-deopt-loop': [SKIP], |
| 'compiler/bound-functions-serialize': [SKIP], |
| 'compiler/concurrent-invalidate-transition-map': [SKIP], |
| 'compiler/concurrent-proto-change': [SKIP], |
| 'compiler/constant-fold-cow-array': [SKIP], |
| 'compiler/dataview-deopt': [SKIP], |
| 'compiler/dataview-detached': [SKIP], |
| 'compiler/dataview-get': [SKIP], |
| 'compiler/dataview-set': [SKIP], |
| 'compiler/deopt-inlined-from-call': [SKIP], |
| 'compiler/field-representation-tracking': [SKIP], |
| 'compiler/manual-concurrent-recompile': [SKIP], |
| 'compiler/native-context-specialization-hole-check': [SKIP], |
| 'compiler/number-divide': [SKIP], |
| 'compiler/opt-higher-order-functions': [SKIP], |
| 'compiler/promise-resolve-stable-maps': [SKIP], |
| 'compiler/regress-905555-2': [SKIP], |
| 'compiler/regress-905555': [SKIP], |
| 'compiler/regress-9945-1': [SKIP], |
| 'compiler/regress-9945-2': [SKIP], |
| 'compiler/stress-deopt-count-2': [SKIP], |
| 'compiler/strict-equal-receiver': [SKIP], |
| 'compiler/string-from-code-point': [SKIP], |
| 'concurrent-initial-prototype-change': [SKIP], |
| 'const-field-tracking-2': [SKIP], |
| 'const-field-tracking': [SKIP], |
| 'deopt-recursive-eager-once': [SKIP], |
| 'deopt-recursive-lazy-once': [SKIP], |
| 'deopt-recursive-soft-once': [SKIP], |
| 'deopt-unlinked': [SKIP], |
| 'deopt-with-fp-regs': [SKIP], |
| 'ensure-growing-store-learns': [SKIP], |
| 'es6/array-iterator-turbo': [SKIP], |
| 'es6/iterator-eager-deopt': [SKIP], |
| 'es6/iterator-lazy-deopt': [SKIP], |
| 'field-type-tracking': [SKIP], |
| 'frozen-array-reduce': [SKIP], |
| 'getters-on-elements': [SKIP], |
| 'harmony/regexp-overriden-exec': [SKIP], |
| 'keyed-load-hole-to-undefined': [SKIP], |
| 'keyed-load-with-symbol-key': [SKIP], |
| 'mjsunit_numfuzz': [SKIP], |
| 'mjsunit': [SKIP], |
| 'never-optimize': [SKIP], |
| 'non-extensible-array-reduce': [SKIP], |
| 'noopt': [SKIP], |
| 'object-seal': [SKIP], |
| 'optimized-array-every': [SKIP], |
| 'optimized-array-findindex': [SKIP], |
| 'optimized-array-find': [SKIP], |
| 'optimized-array-some': [SKIP], |
| 'optimized-filter': [SKIP], |
| 'optimized-map': [SKIP], |
| 'regress/regress-1016450': [SKIP], |
| 'regress/regress-1034449': [SKIP], |
| 'regress/regress-1073440': [SKIP], |
| 'regress/regress-1112155': [SKIP], |
| 'regress/regress-347914': [SKIP], |
| 'regress/regress-3709': [SKIP], |
| 'regress/regress-385565': [SKIP], |
| 'regress/regress-410912': [SKIP], |
| 'regress/regress-618608': [SKIP], |
| 'regress/regress-9002': [SKIP], |
| 'regress/regress-9441': [SKIP], |
| 'regress/regress-961709-classes-opt': [SKIP], |
| 'regress/regress-bind-deoptimize': [SKIP], |
| 'regress/regress-crbug-500497': [SKIP], |
| 'regress/regress-crbug-594183': [SKIP], |
| 'regress/regress-embedded-cons-string': [SKIP], |
| 'regress/regress-unlink-closures-on-deopt': [SKIP], |
| 'regress/wasm/regress-02256b': [SKIP], |
| 'regress/wasm/regress-02256': [SKIP], |
| 'sealed-array-reduce': [SKIP], |
| 'setters-on-elements': [SKIP], |
| 'smi-mul-const': [SKIP], |
| 'smi-mul': [SKIP], |
| 'unary-minus-deopt': [SKIP], |
| # TurbofanStaticAssert: assumes full turbofan pipeline. |
| 'compiler/catch-block-load': [SKIP], |
| 'compiler/concurrent-inlining-1': [SKIP], |
| 'compiler/concurrent-inlining-2': [SKIP], |
| 'compiler/constant-fold-add-static': [SKIP], |
| 'compiler/construct-bound-function': [SKIP], |
| 'compiler/construct-object': [SKIP], |
| 'compiler/construct-receiver': [SKIP], |
| 'compiler/diamond-followedby-branch': [SKIP], |
| 'compiler/inlined-call-polymorphic': [SKIP], |
| 'compiler/js-create-arguments': [SKIP], |
| 'compiler/js-create': [SKIP], |
| 'compiler/load-elimination-const-field': [SKIP], |
| 'compiler/serializer-accessors': [SKIP], |
| 'compiler/serializer-apply': [SKIP], |
| 'compiler/serializer-call': [SKIP], |
| 'compiler/serializer-dead-after-jump': [SKIP], |
| 'compiler/serializer-dead-after-return': [SKIP], |
| 'compiler/serializer-feedback-propagation-1': [SKIP], |
| 'compiler/serializer-feedback-propagation-2': [SKIP], |
| 'compiler/serializer-transition-propagation': [SKIP], |
| # crbug.com/v8/11110 |
| 'es6/super-ic-opt*': [SKIP], |
| }], # variant == nci or variant == nci_as_midtier |
| |
| ['((arch == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simd_mips) or (arch in [ppc64, s390x])', { |
| # Requires scalar lowering for 64x2 SIMD instructions, which are not |
| # implemented yet. |
| # Also skip tests on archs that don't support SIMD and lowering doesn't yet work correctly. |
| # Condition copied from cctest.status. |
| 'regress/wasm/regress-10831': [SKIP], |
| }], # ((arch == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simd_mips) or (arch in [ppc64, s390x]) |
| |
| ############################################################################## |
| ['variant == stress_sampling', { |
| # https://bugs.chromium.org/p/v8/issues/detail?id=10915 |
| 'harmony/weakrefs/stress-finalizationregistry-dirty-enqueue': [SKIP], |
| 'regress/regress-484544': [SKIP], |
| 'regress/regress-543994': [SKIP], |
| 'regress/regress-crbug-1041232': [SKIP], |
| 'regress/regress-set-flags-stress-compact': [SKIP], |
| }], # variant == stress_sampling |
| |
| ] |