Trace tests can be generated by running
go generate .
with the relevant toolchain in this directory.
This will put the tests into a tests
directory where the trace reader tests will find them.
A subset of tests can be regenerated by specifying a regexp pattern for the names of tests to generate in the GOTRACETEST
environment variable. Test names are defined as the name of the .go
file that generates the trace, but with the .go
extension removed.
The trace test programs in the testprog
directory generate traces to stdout. Otherwise they're just normal programs.
The cmd
directory contains helpful tools for debugging traces.
gotraceraw
parses traces without validation. It can produce a text version of the trace wire format, or convert the text format back into bytes.gotracevalidate
parses traces and validates them. It performs more rigorous checks than the parser does on its own, which helps for debugging the parser as well. In fact, it performs the exact same checks that the tests do.