tang

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2026 License: MIT Imports: 22 Imported by: 0

README

tang

A command line tool for summarizing the results of go test, in real time.

Installation

go install github.com/ansel1/tang

Usage

Summarize go test output

Run go test through tang to get a real-time, summarized view of your tests:

tang test ./...

You can pass any go test flags after test:

tang test -v -count 1 -run TestMyFunc ./...
Alternative Usage: Piped or File-based

Pipe go test -json into tang:

go test -json ./... | tang

...or, capture the output to a file, then summarize it:

go test -json ./... > test.out
tang -f test.out

Advanced usage for CI:

set -euo pipefail
go test -json ./... 2>&1 | tang

To see help and available options:

tang -h

Flags

Tang's own flags go before the test subcommand. Everything after test is passed through to go test:

tang -notty test -count 1 ./...

The -v flag after test is special: it enables tang's verbose output and is passed through to go test:

tang test -v ./...
Flag Default Description
-f "" Read from <filename> instead of stdin (incompatible with test subcommand)
-outfile "" Save all input to the specified file
-jsonfile "" Output the raw json output to a file
-junitfile "" Output junit xml output to a file
-include-skipped false Include skipped tests in summary
-include-slow false Include slow tests in summary
-slow-threshold 10s Duration threshold for slow test detection
-notty false Don't open a tty, output to stdout
-v false Verbose output (show all test output in non-tty mode)
-replay false Replay events from file (incompatible with test subcommand)
-rate 1 Replay rate multiplier (incompatible with test subcommand)
-no-color false Disable all ANSI color and style escape codes

The NO_COLOR environment variable is also respected. Setting NO_COLOR=1 (or any non-empty value) has the same effect as -no-color. See no-color.org for details.

Anything piped to tang which doesn't appear to be go test -json output is just passed directly to output, so you can pipe any output which has test output embedded in it:

make all | tang

Why?

Other tools exist that do similar stuff, but most don't give real time feedback while the tests are running. Or are hard to use when the commands are embedded in build scripts or makefiles. Or I just preferred a different style of formatting. tang's formatting is inspired by JetBrains Goland's test runner UI.

Some other tools you can try:

License

This project is licensed under the terms of the MIT license.

Contributing

Debugging

dlv debug --headless --api-version=2 --listen=127.0.0.1:43000 . -- [args]

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
termwidth
Package termwidth resolves terminal width with support for the COLUMNS environment variable.
Package termwidth resolves terminal width with support for the COLUMNS environment variable.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL