tparse
CLI tool for summarizing go test output. Pipe friendly. Compatible with go test flags
About tparse
tparse 
A command line tool for analyzing and summarizing go test output.
[!TIP]
Don't forget to run
go testwith the-jsonflag.
| 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).
But why?! for more info.
Installation
go install github.com/mfridman/tparse@latest
Or download the latest pre-built binary here.
Usage
Once tparse is installed there are 2 ways to use it:
- Run
go testas normal, but add-jsonflag and pipe output totparse.
set -o pipefail && go test fmt -json | tparse -all
- Save the output of
go testwith-jsonflag into a file and calltparsewith-fileoption.
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 testoutput (if adding-followflag)- passed/skipped table (if adding
-all,-skipor-passflag) - failed tests and panics
- summary
For narrow displays the -smallscreen flag may be useful, dividing a long test name and making it vertical heavy:
TestSubtests/an_awesome_but_long/subtest_for_the/win
TestSubtests
/an_awesome_but_long
/subtest_for_the
/win
tparse aims to be a simple alternative to one-liner bash functions.
Frequently Asked Questions
What is tparse?
tparse is a Testing library for the Go programming language. CLI tool for summarizing go test output. Pipe friendly. Compatible with go test flags
How many GitHub stars does tparse have?
tparse has 1,260 GitHub stars in the directory's latest synchronization.
How do I install tparse?
Install tparse with the Go module system using `go get mfridman/tparse`. Check the repository for the current installation instructions.
What category does tparse belong to?
tparse is listed under Testing, specifically Testing Frameworks.