5c23e6b5f2
Currently there are two ways wasm locations are represented in the inspector. This remains unchanged for now. Also, currently there are multiple ways location is represented within V8, with the line number sometimes being a function index and sometimes being 0, and the column number being a byte offset which is sometimes function relative and sometimes module relative. With this change, the line number is never used within V8 (it is always 0), and the column number is always a byte offset from the beginning of the module. This simplifies translation logic and keeps it in one place, and will simplify future changes to wasm location representation in the inspector API. Bug: chromium:1013527 Change-Id: I8813d47c881988f9ab49d7529fb81fe10dbbccff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886915 Commit-Queue: Eric Leese <leese@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64774} |
||
---|---|---|
.. | ||
fail | ||
mjsunit | ||
regress/fail | ||
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-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 | ||
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-table-variable-collision.js | ||
asm-table-variable-collision.out | ||
BUILD.gn | ||
empty.js | ||
empty.out | ||
message.status | ||
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 | ||
strict-octal-indirect-regexp.js | ||
strict-octal-indirect-regexp.out | ||
strict-octal-regexp.js | ||
strict-octal-regexp.out | ||
testcfg.py | ||
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-finish-compilation.out | ||
wasm-function-name-async.js | ||
wasm-function-name-async.out | ||
wasm-function-name-streaming.js | ||
wasm-function-name-streaming.out | ||
wasm-module-and-function-name-async.js | ||
wasm-module-and-function-name-async.out | ||
wasm-module-and-function-name-streaming.js | ||
wasm-module-and-function-name-streaming.out | ||
wasm-module-name-async.js | ||
wasm-module-name-async.out | ||
wasm-module-name-streaming.js | ||
wasm-module-name-streaming.out | ||
wasm-no-name-async.js | ||
wasm-no-name-async.out | ||
wasm-no-name-streaming.js | ||
wasm-no-name-streaming.out | ||
wasm-trace-memory-interpreted.js | ||
wasm-trace-memory-interpreted.out | ||
wasm-trace-memory-liftoff.js | ||
wasm-trace-memory-liftoff.out | ||
wasm-trace-memory.js | ||
wasm-trace-memory.out |
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.