You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A command line tool for analyzing and summarizing go test output.
Tip
Don't forget to run go test with the -json flag.
Pass
Fail
By default, tparse will always return test failures and panics, if any, followed by a package-level summary table.
To get additional info on passed tests run tparse with -pass flag. Tests are grouped by package and sorted by elapsed time in descending order (longest to shortest).
Once tparse is installed there are 2 ways to use it:
Run go test as normal, but add -json flag and pipe output to tparse.
set -o pipefail && go test fmt -json | tparse -all
Save the output of go test with -json flag into a file and call tparse with -file option.
go test fmt -json > fmt.out
tparse -all -file=fmt.out
Tip: run tparse -h to get usage and options.
But why?!
go test is awesome, but verbose. Sometimes you just want readily available failures, grouped by package, printed with a dash of color.
tparse attempts to do just that; return failed tests and panics, if any, followed by a single package-level summary. No more searching for the literal string: "--- FAIL".
But, let's take it a bit further. With -all (-pass and -skip combined) you can get additional info, such as skipped tests and elapsed time of each passed test.
tparse comes with a -follow flag to print raw output. Yep, go test pipes JSON, it's parsed and the output is printed back out as if you ran go test without -json flag. Eliminating the need for tee /dev/tty between pipes.
The default print order is:
go test output (if adding -follow flag)
passed/skipped table (if adding -all, -skip or -pass flag)
failed tests and panics
summary
For narrow displays the -smallscreen flag may be useful, dividing a long test name and making it vertical heavy: