v8/test/wasm-spec-tests/wasm-spec-tests.status
Andreas Haas 3fb2ec7b79 [wasm] Add wasm wpt tests to the V8 tests
WPT and WebAssembly spec tests are not 100% in sync, which means that
there are aspects of the WebAssembly spec that get only tested by WPT.
Up until now WPT was only executed on the blink side, and failing tests
were just ignored. With this CL we add WPT to the existing wasm spec
test setup, so that we run both the spec tests, and WPT.

Bug: v8:12227
Change-Id: Iccbe696a6d9dd01f8bab1990736f1ed16e0cdf7b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160347
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76823}
2021-09-14 19:10:27 +00:00

157 lines
6.2 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]],
# TODO(v8:10994): Failing spec test after update.
'proposals/js-types/data': [FAIL],
# Missing rebase in the proposal repository.
'proposals/js-types/table': [FAIL],
'proposals/memory64/linking': [FAIL],
'proposals/memory64/table': [FAIL],
'proposals/memory64/unreached-invalid': [FAIL],
# TODO(wasm): Roll newest tests into "js-types" repository.
'proposals/js-types/elem': [FAIL],
'proposals/js-types/globals': [FAIL],
'proposals/js-types/imports': [FAIL],
'proposals/js-types/linking': [FAIL],
# TODO(wasm): Roll newest tests into "tail-call" repository.
'proposals/tail-call/exports': [FAIL],
'proposals/tail-call/func': [FAIL],
'proposals/tail-call/globals': [FAIL],
'proposals/tail-call/linking': [FAIL],
# TODO(v8:11401): Fix memory64 spec tests / the v8 implementation (whatever
# is broken).
'proposals/memory64/data': [FAIL],
'proposals/memory64/elem': [FAIL],
'proposals/memory64/imports': [FAIL],
# Tests that need to run sequentially (e.g. due to memory consumption).
'proposals/simd/simd_f32x4*': [PASS, HEAVY],
'proposals/simd/simd_f64x2*': [PASS, HEAVY],
'f32*': [PASS, HEAVY],
'f64*': [PASS, HEAVY],
}], # ALWAYS
['arch == arm and not simulator_run', {
# See https://crbug.com/v8/10938 denormals not handled correctly on ARM.
'proposals/simd/simd_f32x4': [PASS, FAIL],
'proposals/simd/simd_f32x4_arith': [PASS, FAIL],
'proposals/simd/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.
'proposals/simd/simd_splat' : [PASS, FAIL],
'proposals/simd/simd_f32x4_pmin_pmax' : [PASS, FAIL],
}], # arch == arm and not simulator_run
['arch == mipsel or arch == mips64el or arch == mips 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 == mipsel or arch == mips64el or arch == mips or arch == mips64'
['(arch == mipsel or arch == mips64el or arch == mips 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 == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simulator_run'
['(arch == mipsel or 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 == mipsel or arch == mips64el) 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',
# SIMD is not fully implemented yet.
'proposals/simd/*': [SKIP],
}], # 'arch == riscv64
['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.
}],
##############################################################################
['no_simd_hardware == True', {
'proposals/simd/*': [SKIP],
}], # no_simd_hardware == True
]