CLI tool for summarizing go test output. Pipe friendly. CI/CD friendly.
Go
1,260
186 commits
updated Nov 27, 2025
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).
go install github.com/mfridman/tparse@latest
Or download the latest pre-built binary here.
Once tparse is installed there are 2 ways to use it:
go test as normal, but add -json flag and pipe output to tparse.set -o pipefail && go test fmt -json | tparse -all
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.
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)-all, -skip or -pass flag)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.
Overall
Maintained
Code review
Go module
Latest release
Releases this year
(top 24 of 63)
54,758 followers · starred Nov 2018
3,416 followers · starred May 2022
1,737 followers · starred Nov 2018
4,241 followers · starred May 2022
CLI tool for summarizing go test output. Pipe friendly. CI/CD friendly.
Go
1,260
186 commits
updated Nov 27, 2025
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).
go install github.com/mfridman/tparse@latest
Or download the latest pre-built binary here.
Once tparse is installed there are 2 ways to use it:
go test as normal, but add -json flag and pipe output to tparse.set -o pipefail && go test fmt -json | tparse -all
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.
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)-all, -skip or -pass flag)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.
Overall
Maintained
Code review
Go module
Latest release
Releases this year
(top 24 of 63)
54,758 followers · starred Nov 2018
3,416 followers · starred May 2022
1,737 followers · starred Nov 2018
4,241 followers · starred May 2022