v8/test/message
Jakob Gruber 3c422d1c5e [snapshot] Clear reconstructable data prior to d8 stress_snapshot run
The serializer currently cannot handle a heap state containing
arbitrary compiled Code objects. As a quick fix for the
--stress-snapshot d8 flag, we clear compiled data from the isolate
prior to the serialize-deserialize-verify pass.

With this change, mjsunit tests pass on x64.

The %SerializeDeserializeNow() runtime function would require more
work, since it is not possible to mutate the heap to this extent while
still preserving a runnable host context and isolate. We will need
another solution there.

Drive-by: Skip the stress_snapshot variant except for the mjsunit
suite.

Tbr: machenbach@chromium.org
Bug: v8:10493,v8:10416
Change-Id: Ie110da8b51613fcd69c7f391d3cf8589d6b04dd8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182429
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67585}
2020-05-06 07:11:22 +00:00
..
fail [runtime] Add additional test for spread call error 2020-04-27 09:40:13 +00:00
mjsunit [test] Fix {assertNotSame} in mjsunit test harness. 2019-07-03 15:20:57 +00:00
regress/fail [scanner] fix bug with reporting invalid numeric separator 2019-08-08 16:36:36 +00:00
asm-assignment-undeclared.js
asm-assignment-undeclared.out
asm-function-mismatch-def.js
asm-function-mismatch-def.out
asm-function-mismatch-use.js
asm-function-mismatch-use.out
asm-function-redefined.js
asm-function-redefined.out
asm-function-undefined.js
asm-function-undefined.out [asm.js] Fix handling of bogus code after export statement. 2019-02-21 14:37:37 +00:00
asm-function-variable-collision.js
asm-function-variable-collision.out
asm-import-wrong-annotation.js
asm-import-wrong-annotation.out
asm-import-wrong-object.js
asm-import-wrong-object.out
asm-linking-bogus-heap.js
asm-linking-bogus-heap.out Reland "[asmjs] Properly validate asm.js heap sizes" 2018-08-21 09:00:04 +00:00
asm-linking-bogus-stdlib.js
asm-linking-bogus-stdlib.out
asm-linking-missing-heap.js
asm-linking-missing-heap.out
asm-missing-parameter-annotation.js
asm-missing-parameter-annotation.out
asm-missing-return-annotation.js
asm-missing-return-annotation.out
asm-table-mismatch-def.js
asm-table-mismatch-def.out
asm-table-mismatch-use.js
asm-table-mismatch-use.out
asm-table-redefined.js
asm-table-redefined.out
asm-table-undefined.js
asm-table-undefined.out [asm.js] Fix handling of bogus code after export statement. 2019-02-21 14:37:37 +00:00
asm-table-variable-collision.js
asm-table-variable-collision.out
BUILD.gn [build] Add data deps for d8 test suites 2018-03-26 13:44:58 +00:00
empty.js [platform] Allow to memory-map empty files 2019-01-21 16:02:47 +00:00
empty.out [platform] Allow to memory-map empty files 2019-01-21 16:02:47 +00:00
message.status [snapshot] Clear reconstructable data prior to d8 stress_snapshot run 2020-05-06 07:11:22 +00:00
non-use-strict-hex-escape.js
non-use-strict-hex-escape.out
non-use-strict-octal-escape.js
non-use-strict-octal-escape.out
non-use-strict-uhex-escape.js
non-use-strict-uhex-escape.out
nonstrict-arguments.js
nonstrict-arguments.out
nonstrict-eval.js
nonstrict-eval.out
nonstrict-with.js
nonstrict-with.out
object-binding-pattern-await-computed-name.js
object-binding-pattern-await-computed-name.out
README.md Remove always-true --harmony-function-tostring runtime flag 2018-10-03 15:04:16 +00:00
strict-octal-indirect-regexp.js
strict-octal-indirect-regexp.out
strict-octal-regexp.js
strict-octal-regexp.out
testcfg.py [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
try-catch-finally-no-message.js
try-catch-finally-no-message.out
try-catch-finally-return-in-finally.js
try-catch-finally-return-in-finally.out
try-finally-return-in-finally.js
try-finally-return-in-finally.out
wasm-finish-compilation.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
wasm-finish-compilation.out Reland "Reland "[d8][wasm] Test wasm compilation completion"" 2018-04-10 08:24:27 +00:00
wasm-function-name-async.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
wasm-function-name-async.out [stack-trace] Add url to wasm stack traces 2020-02-18 06:55:28 +00:00
wasm-function-name-streaming.js [wasm] Load module name during streaming compile 2018-03-16 09:01:20 +00:00
wasm-function-name-streaming.out [stack-trace] Add url to wasm stack traces 2020-02-18 06:55:28 +00:00
wasm-module-and-function-name-async.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
wasm-module-and-function-name-async.out [stack-trace] Add url to wasm stack traces 2020-02-18 06:55:28 +00:00
wasm-module-and-function-name-streaming.js [wasm] Load module name during streaming compile 2018-03-16 09:01:20 +00:00
wasm-module-and-function-name-streaming.out [stack-trace] Add url to wasm stack traces 2020-02-18 06:55:28 +00:00
wasm-module-name-async.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
wasm-module-name-async.out [wasm] WAT-compatible naming for exported function 2020-03-26 17:29:49 +00:00
wasm-module-name-streaming.js [wasm] Load module name during streaming compile 2018-03-16 09:01:20 +00:00
wasm-module-name-streaming.out [wasm] WAT-compatible naming for exported function 2020-03-26 17:29:49 +00:00
wasm-no-name-async.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
wasm-no-name-async.out [wasm] WAT-compatible naming for exported function 2020-03-26 17:29:49 +00:00
wasm-no-name-streaming.js [wasm] Load module name during streaming compile 2018-03-16 09:01:20 +00:00
wasm-no-name-streaming.out [wasm] WAT-compatible naming for exported function 2020-03-26 17:29:49 +00:00
wasm-trace-memory-liftoff.js Reland "[wasm-simd][liftoff] Check CpuFeatures for SIMD support" 2020-02-03 19:43:09 +00:00
wasm-trace-memory-liftoff.out [wasm] Add some more test cases to wasm-trace-memory 2020-03-26 17:44:53 +00:00
wasm-trace-memory.js [wasm] Add some more test cases to wasm-trace-memory 2020-03-26 17:44:53 +00:00
wasm-trace-memory.out [wasm] Add some more test cases to wasm-trace-memory 2020-03-26 17:44:53 +00:00
weakref-finalizationregistry-error.js [weakrefs] Update FinalizationRegistry to take a per-item callback 2020-04-08 17:54:24 +00:00
weakref-finalizationregistry-error.out [weakrefs] Port FinalizationRegistry cleanup loop to Torque 2020-04-16 03:31:04 +00:00

JavaScript tests with expected output

Tests in test/message pass if the output matches the expected output. Message tests are particularly useful when checking for exact error messages.

Tests and their expected output must have the same filename, with the .js and .out extension.

foo.js
foo.out

All tests must end with an exception. The test runner does not handle output from multiple runs, e.g., --stress-opt. Without an exception, the output will be generated several times and the comparison will fail.

You can use a regex in the expected output instead of the exact path:

*%(basename)s:7: SyntaxError: Detected cycle while resolving name 'a'

Empty lines are ignored in the comparison, but whitespaces are not.

Exact details of the test runner are in testcfg.py.