go-ethereum/eth/tracers/internal/tracetest
cui 3ebb1431d3
eth: using testing.B.Loop (#32657)
before:
go test -run=^$ -bench=. ./eth/... 827.57s user 23.80s system 361% cpu
3:55.49 total

after:
go test -run=^$ -bench=. ./eth/... 281.62s user 13.62s system 245% cpu
2:00.49 total
2025-09-19 17:00:29 -06:00
..
testdata eth/tracers: fix testcase 7702_delegate (#32349) 2025-08-27 21:40:55 +02:00
calltrace_test.go eth: using testing.B.Loop (#32657) 2025-09-19 17:00:29 -06:00
erc7562_tracer_test.go eth/tracers/native: add erc7562 tracer (#31006) 2025-05-20 15:38:33 +02:00
flat_calltrace_test.go eth: using testing.B.Loop (#32657) 2025-09-19 17:00:29 -06:00
makeTest.js eth/tracers: refactor block context in test runner (#29450) 2025-02-20 15:04:35 +01:00
prestate_test.go eth/tracers: fix testcase 7702_delegate (#32349) 2025-08-27 21:40:55 +02:00
README.md eth/tracers: live chain tracing with hooks (#29189) 2024-03-22 18:53:53 +01:00
supply_test.go eth/tracers: fix supply tracer uncle accounting (#31882) 2025-08-26 15:44:16 +02:00
util.go eth/tracers: refactor block context in test runner (#29450) 2025-02-20 15:04:35 +01:00

Filling test cases

To fill test cases for the built-in tracers, the makeTest.js script can be used. Given a transaction on a dev/test network, makeTest.js will fetch its prestate and then traces with the given configuration. In the Geth console do:

let tx = '0x...'
loadScript('makeTest.js')
makeTest(tx, { tracer: 'callTracer' })