v8/test
ssanfilippo 6ae030590d [Interpreter] Refactor bytecode generator test suite.
Bytecode expectations have been moved to external (.golden) files,
one per test. Each test in the suite builds a representation of the
the compiled bytecode using BytecodeExpectationsPrinter. The output is
then compared to the golden file. If the comparision fails, a textual
diff can be used to identify the discrepancies.

Only the test snippets are left in the cc file, which also allows to
make it more compact and meaningful. Leaving the snippets in the cc
file was a deliberate choice to allow keeping the "truth" about the
tests in the cc file, which will rarely change, as opposed to golden
files.

Golden files can be generated and kept up to date using
generate-bytecode-expectations, which also means that the test suite
can be batch updated whenever the bytecode or golden format changes.

The golden format has been slightly amended (no more comments about
`void*`, add size of the bytecode array) following the consideration
made while converting the tests.

There is also a fix: BytecodeExpectationsPrinter::top_level_ was left
uninitialized, leading to undefined behaviour.

BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1717293002

Cr-Commit-Position: refs/heads/master@{#34285}
2016-02-25 12:07:19 +00:00
..
benchmarks [test] Re-enable typescript that is no longer failing on ia32. 2015-10-26 06:00:35 +00:00
cctest [Interpreter] Refactor bytecode generator test suite. 2016-02-25 12:07:19 +00:00
fuzzer Add json fuzzer 2016-02-02 11:29:01 +00:00
intl Intl: Use private symbols to memoize bound functions 2016-02-24 00:05:06 +00:00
js-perf-test Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
memory Correctly name memory stat for context snapshot size. 2015-04-10 22:36:02 +00:00
message [parser] unify metaproperty parsing and require unescaped property name 2016-02-16 23:38:09 +00:00
mjsunit [Interpreter] Handles stack overflow in interpreter. 2016-02-25 11:27:38 +00:00
mozilla Ship ES2015 sloppy-mode const semantics 2016-01-11 23:09:59 +00:00
preparser Reland [swarming] Isolate v8 testing. 2015-10-05 09:48:42 +00:00
promises-aplus Remove unnecessary coupling between Promise tests and Object.observe 2015-07-21 17:17:07 +00:00
simdjs Revert "[turbofan] Stage --turbo-inlining behind --turbo flag." and "[turbofan] Skip more tests that fail with --turbo-inlining." 2015-10-20 06:23:02 +00:00
test262 [Swarming] Only try to untar test262 on swarming. 2016-02-25 10:32:42 +00:00
unittests Encode interpreter::SourcePositionTable as variable-length ints. 2016-02-24 17:13:53 +00:00
webkit ES2015 web compat workaround: RegExp.prototype.flags => "" 2016-02-23 01:49:03 +00:00
bot_default.gyp Add a library suitable for libfuzzer with a small unit test runner shell 2016-01-26 10:39:03 +00:00
bot_default.isolate Add a library suitable for libfuzzer with a small unit test runner shell 2016-01-26 10:39:03 +00:00
default.gyp Add a library suitable for libfuzzer with a small unit test runner shell 2016-01-26 10:39:03 +00:00
default.isolate Add a library suitable for libfuzzer with a small unit test runner shell 2016-01-26 10:39:03 +00:00
ignition.gyp [test] Add ignition test set. 2016-01-04 17:26:42 +00:00
ignition.isolate [swarming] Roll luci-go/isolate to 5c67f7b670b5. 2016-01-19 17:03:56 +00:00
optimize_for_size.gyp [swarming] Isolate webkit and optimize_for_size. 2015-10-14 17:35:05 +00:00
optimize_for_size.isolate [swarming] Roll luci-go/isolate to 5c67f7b670b5. 2016-01-19 17:03:56 +00:00
perf.gyp [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00
perf.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00