mirror of
https://github.com/nodejs/node.git
synced 2025-05-17 10:27:12 +00:00

PR-URL: https://github.com/nodejs/node/pull/54077 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
243 lines
9.8 KiB
Plaintext
243 lines
9.8 KiB
Plaintext
# 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],
|
|
|
|
'proposals/gc/imports': [FAIL],
|
|
'proposals/extended-const/imports': [FAIL],
|
|
'proposals/js-types/imports': [FAIL],
|
|
'proposals/tail-call/imports': [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(https://issues.chromium.org/342316792) Failing test after spec test update
|
|
'proposals/tail-call/memory': [FAIL],
|
|
'proposals/js-types/memory': [FAIL],
|
|
'proposals/exception-handling/memory': [FAIL],
|
|
'proposals/extended-const/memory': [FAIL],
|
|
'proposals/js-promise-integration/memory': [FAIL],
|
|
|
|
# The function-references spec tests haven't been updated to the final
|
|
# binary encoding. We don't care, because the GC tests are up to date and
|
|
# we'll ship both proposals together.
|
|
'proposals/function-references/*': [SKIP],
|
|
|
|
# These break with the GC proposal (because they check that certain modules
|
|
# don't validate that become valid with GC). The GC proposal will update them
|
|
# when it is merged into the main spec repository.
|
|
'data': [FAIL],
|
|
'proposals/extended-const/data': [FAIL],
|
|
'proposals/multi-memory/data': [FAIL],
|
|
|
|
# These break with the GC proposal (because they check that certain modules
|
|
# don't validate that become valid with GC). The GC proposal will update them
|
|
# when it is merged into the main spec repository.
|
|
# With the GC proposal global.get is a constant instruction, independent on
|
|
# the type of the global. In the main spec repository, only global.get of
|
|
# imported globals are allowed.
|
|
'elem': [FAIL],
|
|
'proposals/extended-const/elem': [FAIL],
|
|
'proposals/js-types/elem': [FAIL],
|
|
'proposals/multi-memory/elem': [FAIL],
|
|
'proposals/tail-call/elem': [FAIL],
|
|
'proposals/exception-handling/elem': [FAIL],
|
|
'proposals/js-promise-integration/elem': [FAIL],
|
|
|
|
'global': [FAIL],
|
|
'proposals/extended-const/global': [FAIL],
|
|
|
|
# These tests need to be rebased on the multi-memory proposal once it's
|
|
# merged into the main repository. They test that not more than one memory
|
|
# can be declared ("memory" / "memory64") or imported ("imports"), or that
|
|
# the byte for encoding the memory index is a single byte (and no LEB,
|
|
# "binary").
|
|
'binary': [FAIL],
|
|
'imports': [FAIL],
|
|
'memory': [FAIL],
|
|
'proposals/extended-const/binary': [FAIL],
|
|
'proposals/gc/binary': [FAIL],
|
|
'proposals/js-types/binary': [FAIL],
|
|
'proposals/memory64/binary': [FAIL],
|
|
'proposals/memory64/memory64': [FAIL],
|
|
'proposals/memory64/memory': [FAIL],
|
|
'proposals/tail-call/binary': [FAIL],
|
|
'proposals/exception-handling/binary': [FAIL],
|
|
'proposals/exception-handling/imports': [FAIL],
|
|
|
|
# The test is incorrect as it exports a function with an exnref in the
|
|
# signature, which is a runtime type error.
|
|
'proposals/exception-handling/ref_null': [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',
|
|
|
|
'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/js-types/linking': [SKIP],
|
|
'proposals/multi-memory/simd_memory-multi': [SKIP],
|
|
'proposals/tail-call/simd_lane': [SKIP],
|
|
'proposals/memory64/simd_address': [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
|
|
|
|
]
|