cmd/evm: add testcase for js-tracer

This commit is contained in:
Martin Holst Swende 2024-03-18 11:58:51 +01:00 committed by Matthieu Vachon
parent 313a43d09d
commit a44b99b716
2 changed files with 20 additions and 4 deletions

View file

@ -349,6 +349,7 @@ func TestT8nTracing(t *testing.T) {
base string
input t8nInput
expExitCode int
extraArgs []string
expectedTraces []string
}{
{
@ -356,17 +357,30 @@ func TestT8nTracing(t *testing.T) {
input: t8nInput{
"alloc.json", "txs.json", "env.json", "Cancun", "",
},
extraArgs: []string{"--trace"},
expectedTraces: []string{"trace-0-0x88f5fbd1524731a81e49f637aa847543268a5aaf2a6b32a69d2c6d978c45dcfb.jsonl"},
},
{
base: "./testdata/31",
input: t8nInput{
"alloc.json", "txs.json", "env.json", "Cancun", "",
},
extraArgs: []string{"--trace.tracer", `
{
result: function(){
return "hello world"
},
fault: function(){}
}`},
expectedTraces: []string{"trace-0-0x88f5fbd1524731a81e49f637aa847543268a5aaf2a6b32a69d2c6d978c45dcfb.json"},
},
} {
args := []string{"t8n"}
args = append(args, tc.input.get(tc.base)...)
// Add tracing-args
args = append(args, "--trace")
// Place the output somewhere we can find it
outdir := t.TempDir()
args = append(args, "--output.basedir", outdir)
args = append(args, tc.extraArgs...)
var qArgs []string // quoted args for debugging purposes
for _, arg := range args {
@ -378,7 +392,8 @@ func TestT8nTracing(t *testing.T) {
}
tt.Logf("args: %v\n", strings.Join(qArgs, " "))
tt.Run("evm-test", args...)
tt.WaitExit()
t.Log(string(tt.Output()))
// Compare the expected traces
for _, traceFile := range tc.expectedTraces {
haveFn := lineIterator(filepath.Join(outdir, traceFile))