v8/test/message
Camillo Bruni d73a775aeb Reland "[d8] Avoid recursive unhandled rejected Promise processing"
This is a reland of 66e4c99c82

Move recursive check variable onto PerIsolateData to avoid data races.

Original change's description:
> [d8] Avoid recursive unhandled rejected Promise processing
>
> Bug: chromium:1126309
> Change-Id: I9d9d33cd151ed8af5ee8af09b8957eae9df2dcb1
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410059
> Commit-Queue: Toon Verwaest <verwaest@chromium.org>
> Auto-Submit: Camillo Bruni <cbruni@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69986}

Bug: chromium:1126309
Change-Id: I83353e891e8987fa6f828e1efd82968b895638b6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423708
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#70080}
2020-09-23 08:12:59 +00:00
..
fail [ast] Store correct source position on ThisExpression 2020-08-10 09:07:35 +00:00
mjsunit Reland "[d8] Avoid recursive unhandled rejected Promise processing" 2020-09-23 08:12:59 +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 [d8] Handle recursively rejected promises 2020-06-30 08:27:36 +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-liftoff.js [wasm] Fix register uses in wasm tracing 2020-06-15 11:13:18 +00:00
wasm-trace-liftoff.out [wasm] Fix register uses in wasm tracing 2020-06-15 11:13:18 +00:00
wasm-trace-memory-liftoff.js Reland^5 "[flags] warn about contradictory flags" 2020-09-18 15:45:00 +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 Reland^5 "[flags] warn about contradictory flags" 2020-09-18 15:45:00 +00:00
wasm-trace-memory.out [wasm] Add some more test cases to wasm-trace-memory 2020-03-26 17:44:53 +00:00
wasm-trace-turbofan.js [wasm] Add tracing support in turbofan 2020-06-09 10:35:33 +00:00
wasm-trace-turbofan.out [wasm] Fix register uses in wasm tracing 2020-06-15 11:13:18 +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.