v8/test/cctest
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
..
compiler [builtins] Migrate a bunch of Math builtins to C++. 2016-02-25 08:07:07 +00:00
heap [runtime] Force internalize names used before lookup in in DescriptorArray and TransitionArray 2016-02-18 14:33:44 +00:00
interpreter [Interpreter] Refactor bytecode generator test suite. 2016-02-25 12:07:19 +00:00
wasm [wasm] Enable I64Neq on 32 bit platforms. 2016-02-25 10:12:42 +00:00
cctest_exe.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00
cctest.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
cctest.gyp Revert of Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ ) 2016-02-24 09:48:21 +00:00
cctest.h Re-re-land FastAccessorBuilder. 2015-12-11 09:54:00 +00:00
cctest.isolate [Interpreter] Refactor bytecode generator test suite. 2016-02-25 12:07:19 +00:00
cctest.status Revert of [Interpreter] Implements calls through CallICStub in the interpreter. (patchset #15 id:270001 of https://codereview.chromium.org/1688283003/ ) 2016-02-24 15:16:19 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
expression-type-collector-macros.h Make typing-asm match spec more closely around load/store, add more tests. 2015-11-30 21:11:47 +00:00
expression-type-collector.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
expression-type-collector.h Create ast/ and parsing/ subdirectories and move appropriate files 2015-11-26 16:23:07 +00:00
gay-fixed.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-fixed.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-precision.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-precision.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-shortest.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-shortest.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
log-eq-of-logging-and-traversal.js Fix test-log/EquivalenceOfLoggingAndTraversal 2013-08-26 14:56:23 +00:00
OWNERS Fix filename typo in OWNERS. 2016-01-11 20:20:18 +00:00
print-extension.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
print-extension.h Remove deprecated functions the smaller half of the remaing tests 2015-11-17 12:42:44 +00:00
profiler-extension.cc Unflake CPU profiler tests. 2016-02-08 18:12:20 +00:00
profiler-extension.h Unflake CPU profiler tests. 2016-02-08 18:12:20 +00:00
test-accessors.cc Add the data parameter back to the access check callback 2016-02-03 10:02:35 +00:00
test-api-accessors.cc Generalize 'fast accessor' tests to work with --always-opt. 2016-01-14 14:25:02 +00:00
test-api-fast-accessor-builder.cc [crankshaft] Replace stub cache harvesting with a bit of type propagation 2016-02-15 15:22:00 +00:00
test-api-interceptors.cc Add the data parameter back to the access check callback 2016-02-03 10:02:35 +00:00
test-api.cc Introduce BeforeCallEnteredCallback. 2016-02-19 18:48:46 +00:00
test-api.h Move heap and CPU profilers into a dedicated directory. 2015-09-28 19:34:18 +00:00
test-array-list.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-asm-validator.cc Allow constant multiply both ways. 2016-02-23 19:04:58 +00:00
test-assembler-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-arm.cc Added a ReverseBits operator and used it to implement Ctz. 2016-02-16 11:14:28 +00:00
test-assembler-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-mips64.cc MIPS: use DAHI/DATH for li macro on mips64r6. 2016-02-20 16:24:37 +00:00
test-assembler-mips.cc Reland of MIPS: Add FPXX support to MIPS32R2 2016-02-08 09:44:19 +00:00
test-assembler-ppc.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-x64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-ast-expression-visitor.cc Fix bug where generators got closed prematurely. 2016-01-27 08:13:24 +00:00
test-ast.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-atomicops.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bignum-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bignum.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bit-vector.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-circular-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-arm.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-mips64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-mips.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-x64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs.h Introduce x87 port 2014-05-23 16:37:27 +00:00
test-compiler.cc Revert of Type Feedback Vector lives in the closure (patchset #2 id:40001 of https://codereview.chromium.org/1668103002/ ) 2016-02-05 10:48:35 +00:00
test-constantpool.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-conversions.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-cpu-profiler.cc Clean up some random TODO(titzer)s and spelling mistakes. 2016-02-12 17:30:20 +00:00
test-date.cc [builtins] Refactor the remaining Date builtins. 2016-01-12 10:48:26 +00:00
test-debug.cc Ignore pause on debugger statement when breakpoints are disabled 2016-02-12 20:55:36 +00:00
test-decls.cc Ship ES2015 sloppy-mode const semantics 2016-01-11 23:09:59 +00:00
test-deoptimization.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-dictionary.cc Make JSProxies always be in slow mode 2016-01-15 13:03:10 +00:00
test-disasm-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-arm.cc [Atomics] Add dmb/dsb/isb instructions to ARM 2016-02-17 19:58:04 +00:00
test-disasm-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-mips64.cc MIPS64: r6 compact branch optimization. 2016-01-06 13:36:41 +00:00
test-disasm-mips.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-ppc.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-x64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-diy-fp.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-double.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-elements-kind.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-experimental-extra.js Add experimental, non-snapshotted V8 extras 2015-08-20 00:01:14 +00:00
test-extra.js [bootstrapper] extra natives must not use natives syntax. 2016-02-05 12:33:55 +00:00
test-fast-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-feedback-vector.cc Revert of Type Feedback Vector lives in the closure (patchset #2 id:40001 of https://codereview.chromium.org/1668103002/ ) 2016-02-05 10:48:35 +00:00
test-feedback-vector.h The metadata part of TypeFeedbackVector is extracted to TypeFeedbackMetadata array. 2015-10-07 10:33:32 +00:00
test-field-type-tracking.cc Don't include field-type.h/field-index.h into property.h 2016-02-16 13:28:47 +00:00
test-fixed-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-flags.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-func-name-inference.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-fuzz-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-gc-tracer.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-global-handles.cc Don't NULL-check GlobalHandle::Node::object_ 2016-01-25 13:10:09 +00:00
test-global-object.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-hashing.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-hashmap.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-heap-profiler.cc Unsampling for the sampling heap profiler 2016-02-24 08:05:18 +00:00
test-hydrogen-types.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-identity-map.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-inobject-slack-tracking.cc Introduce {FAST,SLOW}_STRING_WRAPPER_ELEMENTS 2016-01-29 18:58:04 +00:00
test-javascript-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-js-arm64-variables.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-list.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-liveedit.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-lockers.cc Add Isolate::DiscardThreadSpecificMetadata method to embedder API. 2015-12-16 15:49:49 +00:00
test-log-stack-tracer.cc [Interpreter] Fix test-log-stack-tracer for Ignition. 2016-02-12 08:49:16 +00:00
test-log.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-arm.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-mips64.cc MIPS: Use PC relative instructions on r6. 2016-02-03 13:31:30 +00:00
test-macro-assembler-mips.cc MIPS: Use PC relative instructions on r6. 2016-02-03 13:31:30 +00:00
test-macro-assembler-x64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-mementos.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-microtask-delivery.cc Pass --harmony-object-observe in tests that depend on it 2015-12-09 20:34:16 +00:00
test-object-observe.cc Add the data parameter back to the access check callback 2016-02-03 10:02:35 +00:00
test-parsing.cc Remove strong mode support from Scope and Variable 2016-02-18 17:20:13 +00:00
test-platform-linux.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-platform-win32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-platform.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-profile-generator.cc Do not record CPU profile samples when stack collection is failed. 2016-02-19 18:49:37 +00:00
test-random-number-generator.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-receiver-check-hidden-prototype.cc Fix the receiver check in the HandleFastApiCall builtin. 2016-01-14 12:24:04 +00:00
test-regexp.cc [regexp] implement case-insensitive unicode regexps. 2016-01-27 08:25:38 +00:00
test-reloc-info.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-representation.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-sampler-api.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-serialize.cc [serializer] remove some dead code. 2015-12-15 11:01:17 +00:00
test-simd.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-slots-buffer.cc [cctest] Move most heap related tests to test/cctest/heap and clean wrt IWYU 2015-12-09 11:26:15 +00:00
test-strings.cc Revert of [regexp] implement /ui to mirror the implementation for /i. (patchset #2 id:20001 of https://codereview.chromium.org/1641613002/ ) 2016-02-02 11:44:45 +00:00
test-strtod.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-symbols.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-thread-termination.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-threads.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-trace-event.cc Revert of Add Scoped Context Info (Isolate) to V8 Traces (patchset #5 id:80001 of https://codereview.chromium.org/1686233002/ ) 2016-02-17 20:30:44 +00:00
test-transitions.cc Don't include field-type.h/field-index.h into property.h 2016-02-16 13:28:47 +00:00
test-typedarrays.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-types.cc [compiler] Drop the CompareNilIC. 2016-02-24 09:10:10 +00:00
test-typing-reset.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unbound-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unboxed-doubles.cc Revert of Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ ) 2016-02-24 09:48:21 +00:00
test-unique.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unscopables-hidden-prototype.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-utils-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-utils-arm64.h [test] Test expectations in cctest should use CHECK and not DCHECK. 2015-12-07 05:37:15 +00:00
test-utils.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-version.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-weakmaps.cc [heap] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods 2016-02-10 09:47:16 +00:00
test-weaksets.cc [heap] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods 2016-02-10 09:47:16 +00:00
testcfg.py [test-runner] Move test case processing beyond the multi-process boundary. 2015-11-27 12:52:25 +00:00
trace-extension.cc Add CollectSample API function to CpuProfiler 2016-01-26 20:48:28 +00:00
trace-extension.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
types-fuzz.h Remove the template magic from types.(h|cc), remove types-inl.h. 2016-02-02 07:26:06 +00:00