core/vm: instruction tests (#16327)

This PR makes it easy to generate and execute testcases for VM arithmetic operations. By enabling and running the testcase TestWriteExpectedValues, a set of json files are created which contain input and output for each arith operation.
The test TestJsonTestcases executes all of those tests.

While meaningless as is, this PR makes it less risky to make changes (optimizations) to the vm operations, since there will be a larger body of testcases.
This commit is contained in:
Martin Holst Swende
2019-04-04 11:19:38 +02:00
committed by GitHub
parent 5164274872
commit 36b78abe61
22 changed files with 158 additions and 86 deletions

1
core/vm/testdata/testcases_add.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_and.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_byte.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_div.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_eq.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_exp.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_gt.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_lt.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_mod.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_mul.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_or.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_sar.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_sdiv.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_sgt.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_shl.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_shr.json vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_slt.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_smod.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_sub.json vendored Normal file

File diff suppressed because one or more lines are too long

1
core/vm/testdata/testcases_xor.json vendored Normal file

File diff suppressed because one or more lines are too long