# Copyright 2016 the V8 project authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. [ [ALWAYS, { 'skip-stack-guard-page': [PASS, ['((arch == ppc or arch == ppc64 or arch == s390 or arch == s390x) and simulator_run)', SKIP]], # Missing rebase in the proposal repository. 'proposals/js-types/table': [FAIL], # "data" is supposed to fail for "data segment does not fit"; missing rebase # on https://github.com/WebAssembly/spec/commit/7fa2f20a. 'proposals/memory64/data': [FAIL], # "elem" is supposed to fail for "elements segment does not fit"; missing # rebase on https://github.com/WebAssembly/spec/commit/7fa2f20a. 'proposals/memory64/elem': [FAIL], # "imports" is supposed to fail for "multiple tables"; missing rebase on # https://github.com/WebAssembly/spec/commit/7fa2f20a. 'proposals/memory64/imports': [FAIL], # "linking" is supposed to fail for "elements segment does not fit"; missing # rebase on https://github.com/WebAssembly/spec/commit/7fa2f20a. 'proposals/memory64/linking': [FAIL], # "table" is supposed to fail for "multiple tables"; missing rebase on # https://github.com/WebAssembly/spec/commit/7fa2f20a. 'proposals/memory64/table': [FAIL], # "unreached-invalid" is supposed to fail for "type mismatch"; missing rebase # on https://github.com/WebAssembly/spec/commit/7fa2f20a. 'proposals/memory64/unreached-invalid': [FAIL], # TODO(13780): Fix validation of memory args to check that the offset is # within the memory limit. 'proposals/memory64/address': [FAIL], # TODO(wasm): Roll newest tests into "js-types" repository. 'proposals/js-types/globals': [FAIL], # Tests that need to run sequentially (e.g. due to memory consumption). 'simd_f32x4*': [PASS, HEAVY], 'simd_f64x2*': [PASS, HEAVY], 'f32*': [PASS, HEAVY], 'f64*': [PASS, HEAVY], # TODO(13918): Implement multi-memory in V8. 'proposals/multi-memory/address0': [FAIL], 'proposals/multi-memory/address1': [FAIL], 'proposals/multi-memory/align0': [FAIL], 'proposals/multi-memory/binary0': [FAIL], 'proposals/multi-memory/data0': [FAIL], 'proposals/multi-memory/data1': [FAIL], 'proposals/multi-memory/data_drop0': [FAIL], 'proposals/multi-memory/exports0': [FAIL], 'proposals/multi-memory/float_exprs0': [FAIL], 'proposals/multi-memory/float_exprs1': [FAIL], 'proposals/multi-memory/float_memory0': [FAIL], 'proposals/multi-memory/imports0': [FAIL], 'proposals/multi-memory/imports1': [FAIL], 'proposals/multi-memory/imports2': [FAIL], 'proposals/multi-memory/imports3': [FAIL], 'proposals/multi-memory/imports4': [FAIL], 'proposals/multi-memory/linking0': [FAIL], 'proposals/multi-memory/linking1': [FAIL], 'proposals/multi-memory/linking2': [FAIL], 'proposals/multi-memory/linking3': [FAIL], 'proposals/multi-memory/load0': [FAIL], 'proposals/multi-memory/load1': [FAIL], 'proposals/multi-memory/load2': [FAIL], 'proposals/multi-memory/load': [FAIL], 'proposals/multi-memory/memory_copy0': [FAIL], 'proposals/multi-memory/memory_fill0': [FAIL], 'proposals/multi-memory/memory_grow': [FAIL], 'proposals/multi-memory/memory_init0': [FAIL], 'proposals/multi-memory/memory-multi': [FAIL], 'proposals/multi-memory/memory_size0': [FAIL], 'proposals/multi-memory/memory_size1': [FAIL], 'proposals/multi-memory/memory_size2': [FAIL], 'proposals/multi-memory/memory_size': [FAIL], 'proposals/multi-memory/memory_trap0': [FAIL], 'proposals/multi-memory/memory_trap1': [FAIL], 'proposals/multi-memory/simd_memory-multi': [FAIL], 'proposals/multi-memory/start0': [FAIL], 'proposals/multi-memory/store0': [FAIL], 'proposals/multi-memory/store1': [FAIL], 'proposals/multi-memory/store': [FAIL], 'proposals/multi-memory/traps0': [FAIL], # These tests need to be rebased to include # https://github.com/WebAssembly/spec/pull/1649 and # https://github.com/WebAssembly/spec/pull/1650. 'proposals/extended-const/binary': [FAIL], 'proposals/extended-const/binary-leb128': [FAIL], 'proposals/js-types/binary-leb128': [FAIL], 'proposals/js-types/binary': [FAIL], 'proposals/tail-call/binary': [FAIL], 'proposals/tail-call/binary-leb128': [FAIL], }], # ALWAYS ['arch == arm and not simulator_run', { # See https://crbug.com/v8/10938 denormals not handled correctly on ARM. 'simd_f32x4': [PASS, FAIL], 'simd_f32x4_arith': [PASS, FAIL], 'simd_f32x4_cmp': [PASS, FAIL], # This test only has 1 problematic use of f32x4.min and f32x4.div, consider # removing it from upstream, then we can run this test. 'simd_splat' : [PASS, FAIL], 'simd_f32x4_pmin_pmax' : [PASS, FAIL], }], # arch == arm and not simulator_run ['arch == mips64el or arch == mips64', { # These tests fail because mips does not support the correct NaN bit patterns. 'float_misc': [SKIP], 'float_exprs': [SKIP], 'f32': [SKIP], 'f64': [SKIP], 'f32_bitwise': [SKIP], 'f64_bitwise': [SKIP], 'proposals/reference-types/conversions': [SKIP], 'proposals/bulk-memory-operations/conversions': [SKIP], 'proposals/js-types/f32': [SKIP], 'proposals/js-types/f64': [SKIP], 'proposals/js-types/f32_bitwise': [SKIP], 'proposals/js-types/f64_bitwise': [SKIP], 'proposals/js-types/float_exprs': [SKIP], 'proposals/js-types/float_misc': [SKIP], 'proposals/js-types/conversions': [SKIP], 'proposals/bulk-memory-operations/f32': [SKIP], 'proposals/bulk-memory-operations/f64': [SKIP], 'proposals/reference-types/f32': [SKIP], 'proposals/reference-types/f64': [SKIP], 'proposals/bulk-memory-operations/float_misc': [SKIP], 'proposals/reference-types/float_misc': [SKIP], 'proposals/tail-call/f32': [SKIP], 'proposals/tail-call/f32_bitwise': [SKIP], 'proposals/tail-call/f64': [SKIP], 'proposals/tail-call/f64_bitwise': [SKIP], 'proposals/tail-call/float_exprs': [SKIP], 'proposals/tail-call/float_misc': [SKIP], 'proposals/tail-call/conversions': [SKIP], }], # 'arch == mips64el or arch == mips64' ['(arch == mips64el or arch == mips64) and not simulator_run', { # This test fail because mips does not support the correct NaN bit patterns. # But it doesn't fail in simulator. 'conversions': [SKIP], }], # '(arch == mips64el or arch == mips64) and not simulator_run' ['(arch == mips64el or arch == loong64) and simulator_run', { # These tests need larger stack size on simulator. 'skip-stack-guard-page': '--sim-stack-size=8192', 'proposals/tail-call/skip-stack-guard-page': '--sim-stack-size=8192', }], # '(arch == mips64el or arch == loong64) and simulator_run' ['arch == riscv64', { # These tests need larger stack size on simulator. 'skip-stack-guard-page': '--sim-stack-size=8192', 'proposals/tail-call/skip-stack-guard-page': '--sim-stack-size=8192', }], # 'arch == riscv64' ['arch == riscv32', { # These tests need larger stack size on simulator. 'skip-stack-guard-page': '--sim-stack-size=8192', 'proposals/tail-call/skip-stack-guard-page': '--sim-stack-size=8192', # SIMD is not fully implemented yet. 'simd*': [SKIP], 'func': ['variant == stress', SKIP], }], # 'arch == riscv32' ['arch == ppc or arch == ppc64', { # These tests fail because ppc float min and max doesn't convert sNaN to qNaN. 'f32': [SKIP], 'f64': [SKIP], 'proposals/js-types/f32': [SKIP], 'proposals/js-types/f64': [SKIP], 'proposals/bulk-memory-operations/f32': [SKIP], 'proposals/bulk-memory-operations/f64': [SKIP], 'proposals/reference-types/f32': [SKIP], 'proposals/reference-types/f64': [SKIP], 'proposals/tail-call/f32': [SKIP], 'proposals/tail-call/f64': [SKIP], # This test fails because ppc float to double doesn't convert sNaN to qNaN. 'conversions': [SKIP], 'proposals/js-types/conversions': [SKIP], 'proposals/bulk-memory-operations/conversions': [SKIP], 'proposals/reference-types/conversions': [SKIP], 'proposals/tail-call/conversions': [SKIP], }], # 'arch == ppc or arch == ppc64' ['arch == s390 or arch == s390x', { # These tests fail because s390 float min and max doesn't convert sNaN to qNaN. 'f32': [SKIP], 'f64': [SKIP], 'proposals/js-types/f32': [SKIP], 'proposals/js-types/f64': [SKIP], 'proposals/bulk-memory-operations/f32': [SKIP], 'proposals/bulk-memory-operations/f64': [SKIP], 'proposals/reference-types/f32': [SKIP], 'proposals/reference-types/f64': [SKIP], 'proposals/tail-call/f32': [SKIP], 'proposals/tail-call/f64': [SKIP], }], # 'arch == s390 or arch == s390x' ############################################################################## # TODO(v8:7777): Change this once wasm is supported in jitless mode. ['not has_webassembly or variant == jitless', { '*': [SKIP], }], # not has_webassembly or variant == jitless ############################################################################## ['variant == stress_snapshot', { '*': [SKIP], # only relevant for mjsunit tests. }], # variant == stress_snapshot ############################################################################## ['no_simd_hardware == True', { 'linking': [SKIP], 'simd*': [SKIP], 'proposals/tail-call/simd_lane': [SKIP], 'proposals/js-types/linking': [SKIP], }], # no_simd_hardware == True ############################################################################## ['variant == stress', { # Spec tests are executing long enough even without stress mode. # As stress mode is unlikely to flush out bugs, skip the tests there. '*': [SKIP], }], # variant == stress ############################################################################## # Skip tests that require a large amount of virtual address space (inside the # sandbox if that is enabled) if tsan is enabled. ['tsan == True', { 'memory_copy': [SKIP], }], # tsan == True ]