Trace test data

Trace golden tests

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.

Trace test programs

The trace test programs in the testprog directory generate traces to stdout. Otherwise they're just normal programs.

Trace debug commands

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.