v8/test/debugger/debugger.status

163 lines
6.4 KiB
Plaintext
Raw Normal View History

# 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, {
# All tests in the bug directory are expected to fail.
'bugs/*': [FAIL],
# Issue 3660: Replacing activated TurboFan frames by unoptimized code does
# not work, but we expect it to not crash.
'debug/debug-step-turbofan': [PASS, FAIL],
# Issue 3641: The new 'then' semantics suppress some exceptions.
# These tests may be changed or removed when 'chain' is deprecated.
'debug/es6/debug-promises/reject-with-throw-in-reject': [FAIL],
'debug/es6/debug-promises/reject-with-undefined-reject': [FAIL],
'debug/es6/debug-promises/reject-with-invalid-reject': [FAIL],
# Issue 5651: Context mismatch in ScopeIterator::Type() for eval default
# parameter value (the test causes indexing a FixedArray out of bounds ->
# CRASH is also a reasonable outcome).
'debug/es6/debug-scope-default-param-with-eval': [FAIL, CRASH],
# Slow tests
'debug/debug-scopes': [PASS, SLOW],
'debug/debug-stepout-scope-part*': [PASS, SLOW],
'debug/ignition/debug-step-prefix-bytecodes': [PASS, SLOW, ['mode == debug', SKIP]],
# Too slow in debug mode and on slow platforms.
'regress/regress-2318': [PASS, SLOW, ['mode == debug or (arch != ia32 and arch != x64) or asan == True or msan == True', SKIP]],
[inspector] improve return position of explicit return in non-async function Goal of this CL: explicit return from non-async function has position after return expression as return position (will unblock [1]). BytecodeArrayBuilder has SetStatementPosition and SetExpressionPosition methods. If one of these methods is called then next generated bytecode will get passed position. It's general treatment for most cases. Unfortunately it doesn't work for Returns: - debugger requires source positions exactly on kReturn bytecode in stepping implementation, - BytecodeGenerator::BuildReturn and BytecodeGenerator::BuildAsyncReturn generates more then one bytecode and general solution will put return position on first generated bytecode, - it's not easy to split BuildReturn function into two parts to allow something like following in BytecodeGenerator::VisitReturnStatement since generated bytecodes are actually controlled by execution_control(). ..->BuildReturnPrologue(); ..->SetReturnPosition(stmt); ..->Return(); In this CL we pass ReturnStatement through ExecutionControl and use it for position when we emit return bytecode right here. So this CL only will improve return position for returns inside of non-async functions, I'll address async functions later. [1] https://chromium-review.googlesource.com/c/543161/ Change-Id: Iede512c120b00c209990bf50c20e7d23dc0d65db Reviewed-on: https://chromium-review.googlesource.com/560738 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46687}
2017-07-14 17:50:09 +00:00
# forcing weak callback in asan build change break order
'debug/debug-stepin-builtin-callback': [['asan == True or msan == True', SKIP]],
}], # ALWAYS
##############################################################################
['variant == stress', {
# TODO(turbofan): Functions with eval or debugger now get optimized
# with Turbofan, which has issues with the debugger issues.
'debug/debug-evaluate-locals': [FAIL],
# Very slow in stress mode.
'regress/regress-2318': [SKIP],
# Currently fails because breakpoint information is inconsistent after
# disabling and re-enabling the debugger (https://crbug.com/v8/10403).
'debug/wasm/debug-step-into-wasm': [SKIP],
}], # variant == stress
##############################################################################
['variant == stress and (arch == arm or arch == arm64) and simulator_run', {
# Slow tests: https://crbug.com/v8/7783
'debug/debug-stepout-scope-part*': [SKIP],
}], # variant == stress and (arch == arm or arch == arm64) and simulator_run
##############################################################################
['gc_stress == True', {
# Skip tests not suitable for GC stress.
# Tests taking too long
'debug/debug-stepout-scope-part*': [SKIP],
# Async function tests taking too long
# https://bugs.chromium.org/p/v8/issues/detail?id=5411
'debug/es8/async-debug-caught-exception-cases0': [SKIP],
'debug/es8/async-debug-caught-exception-cases1': [SKIP],
'debug/es8/async-debug-caught-exception-cases2': [SKIP],
'debug/es8/async-debug-caught-exception-cases3': [SKIP],
'debug/es8/async-function-debug-scopes': [SKIP],
# https://crbug.com/v8/8141
'debug/debug-liveedit-1': [SKIP],
'debug/debug-liveedit-double-call': [SKIP],
'debug/es6/debug-liveedit-new-target-3': [SKIP],
'debug/side-effect/debug-evaluate-no-side-effect-control': [SKIP],
}], # 'gc_stress == True'
##############################################################################
['gc_fuzzer', {
# Slow tests.
'regress/regress-2318': [SKIP],
}], # 'gc_fuzzer'
##############################################################################
['predictable == True', {
# https://crbug.com/v8/8147
'debug/debug-liveedit-*': [SKIP],
'debug/debug-set-variable-value': [SKIP],
# Rely on (blocking) concurrent compilation.
'debug/regress/regress-opt-after-debug-deopt': [SKIP],
'debug/regress/regress-prepare-break-while-recompile': [SKIP],
'regress/regress-7421': [SKIP],
}], # 'predictable == True'
##############################################################################
['variant == no_wasm_traps', {
'*': [SKIP],
}], # variant == no_wasm_traps
##############################################################################
['arch == arm and not simulator_run', {
# Too slow on chromebooks.
'debug/ignition/debug-step-prefix-bytecodes': [SKIP],
}], # 'arch == arm and not simulator_run'
##############################################################################
['arch == arm and mode == debug', {
# Tests taking too long
'debug/debug-stepout-scope-part1': [SKIP],
'debug/debug-stepout-scope-part2': [SKIP],
'debug/debug-stepout-scope-part3': [SKIP],
'debug/debug-stepout-scope-part4': [SKIP],
'debug/debug-stepout-scope-part5': [SKIP],
'debug/debug-stepout-scope-part6': [SKIP],
'debug/debug-stepout-scope-part7': [SKIP],
'debug/debug-stepout-scope-part8': [SKIP],
}], # 'arch == arm and mode == debug'
['mode != debug', {
# Test uses a flag only available in debug mode
'debug/wasm/debug-enabled-tier-down-wasm-unsupported-liftoff': [SKIP],
}],
##############################################################################
['arch == s390 or arch == s390x', {
# Stack manipulations in LiveEdit is not implemented for this arch.
'debug/debug-liveedit-check-stack': [SKIP],
'debug/debug-liveedit-double-call': [SKIP],
'debug/debug-liveedit-restart-frame': [SKIP],
}], # 'arch == s390 or arch == s390x'
[inspector] improve return position of explicit return in non-async function Goal of this CL: explicit return from non-async function has position after return expression as return position (will unblock [1]). BytecodeArrayBuilder has SetStatementPosition and SetExpressionPosition methods. If one of these methods is called then next generated bytecode will get passed position. It's general treatment for most cases. Unfortunately it doesn't work for Returns: - debugger requires source positions exactly on kReturn bytecode in stepping implementation, - BytecodeGenerator::BuildReturn and BytecodeGenerator::BuildAsyncReturn generates more then one bytecode and general solution will put return position on first generated bytecode, - it's not easy to split BuildReturn function into two parts to allow something like following in BytecodeGenerator::VisitReturnStatement since generated bytecodes are actually controlled by execution_control(). ..->BuildReturnPrologue(); ..->SetReturnPosition(stmt); ..->Return(); In this CL we pass ReturnStatement through ExecutionControl and use it for position when we emit return bytecode right here. So this CL only will improve return position for returns inside of non-async functions, I'll address async functions later. [1] https://chromium-review.googlesource.com/c/543161/ Change-Id: Iede512c120b00c209990bf50c20e7d23dc0d65db Reviewed-on: https://chromium-review.googlesource.com/560738 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46687}
2017-07-14 17:50:09 +00:00
##############################################################################
['lite_mode or variant == jitless', {
# TODO(v8:7777): Re-enable once wasm is supported in jitless mode.
'debug/wasm/*': [SKIP],
'regress/regress-crbug-840288': [SKIP],
'regress/regress-crbug-1032042': [SKIP],
'wasm-*': [SKIP],
}], # lite_mode or variant == jitless
##############################################################################
['variant == turboprop or variant == nci or variant == nci_as_midtier', {
# Deopts differently than TurboFan.
'debug/debug-optimize': [SKIP],
'debug/debug-compile-optimized': [SKIP],
}], # variant == turboprop or variant == nci or variant == nci_as_midtier
##############################################################################
# Liftoff needs to be enabled before running these tests.
['arch in (s390, s390x, ppc, ppc64)', {
'regress/regress-crbug-1032042': [SKIP],
'regress/regress-crbug-840288': [SKIP],
PPC/s390: Reland "[wasm][debug] Fix tier down during streaming compilation" Port 18ac08d03c3ece6751aa25efa836e79f6959608d Original Commit Message: This is a reland of 3cc981cb7a701dc1030445b24ea0f365ce380117 with a fix for data race detected by TSan. Original change's description: > [wasm][debug] Fix tier down during streaming compilation > > If the debugger is enabled while streaming compilation is happening, we > won't correctly tier down to Liftoff. This is because during streaming > compilation, we always compile for no debugging. Fixing that is a bit > tricky, since when the debugger is enabled, functions can either already > have finished compiling, or they are currently being compiled, or their > wire bytes are not received yet. > Instead of handling this correctly while streaming compilation is > running, we just recompile the whole module with Liftoff after streaming > compilation finished. > > For testing this, we use the existing tests for async compilation, and > enable --wasm-test-streaming, which compiles via the streaming decoder > even in the async compilation case. > > R=thibaudm@chromium.org > > Bug: v8:10531 > Change-Id: I0177248a9ad2e90f83faee965d6746de05423f1f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207133 > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67882} R=clemensb@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I778a10eaba0016a9e897c8f71ac822c6b421350f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2208901 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67906}
2020-05-19 14:48:12 +00:00
'debug/wasm/*': [SKIP],
}],
################################################################################
['variant == stress_snapshot', {
'*': [SKIP], # only relevant for mjsunit tests.
}],
]