From a44b99b71607a3f64806b7e65182c7210cb8e658 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 18 Mar 2024 11:58:51 +0100 Subject: [PATCH] cmd/evm: add testcase for js-tracer --- cmd/evm/t8n_test.go | 23 +++++++++++++++---- ...47543268a5aaf2a6b32a69d2c6d978c45dcfb.json | 1 + 2 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 cmd/evm/testdata/31/trace-0-0x88f5fbd1524731a81e49f637aa847543268a5aaf2a6b32a69d2c6d978c45dcfb.json diff --git a/cmd/evm/t8n_test.go b/cmd/evm/t8n_test.go index bb36434f52..06134d2a6a 100644 --- a/cmd/evm/t8n_test.go +++ b/cmd/evm/t8n_test.go @@ -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)) diff --git a/cmd/evm/testdata/31/trace-0-0x88f5fbd1524731a81e49f637aa847543268a5aaf2a6b32a69d2c6d978c45dcfb.json b/cmd/evm/testdata/31/trace-0-0x88f5fbd1524731a81e49f637aa847543268a5aaf2a6b32a69d2c6d978c45dcfb.json new file mode 100644 index 0000000000..cd4bc1ab64 --- /dev/null +++ b/cmd/evm/testdata/31/trace-0-0x88f5fbd1524731a81e49f637aa847543268a5aaf2a6b32a69d2c6d978c45dcfb.json @@ -0,0 +1 @@ +"hello world"