TAPVIEW(1)
πΈ NAME πΈ
okay so this is tapview, and the manual page is TAPVIEW(1). Itβs a minimalist viewing filter for TAP (Test Anything Protocol). literally thatβs the whole name section, bestie.
β¨ SYNOPSIS β¨
tapview [-s]
π DESCRIPTION π
tapview accepts a stream of reports in the format of TAP (Test Anything Protocol) on standard input and filters them for viewing in a terminal emulator. Its goal is to present to a human viewer only what the viewer needs to see, and no more β it produces an informative but extremely compact display even when there are hundreds of tests. iconic behavior, honestly.
tapview is small, fast, lightweight, and designed to be easily embedded in any source distribution. The license explicitly allows it to be distributed under the terms of the (open-source, OSD-compliant) license of the embedding project. slay.
The Test Anything Protocol is described here: https://testanything.org/
tapviewβs output behavior is deliberately simple:
- The plan line may have a
SKIPdirective; if so,tapviewexits indicating an error without showing any further output. - The initial section (the "dot display") is displayed in real time as each TAP line arrives on standard input. It ships one of the following status characters for each test:
.β an"ok"line with no directiveFβ a"not ok"line with no directivesβ an"ok"or"not ok"line with aSKIPdirectiveuβ an"ok"line with aTODOdirectivexβ a"not ok"line with aTODOdirective
- The dot display may be terminated early by a
"Bail out!"line. In this case the rest of the stream is discarded and there is no further output. - After the dot display completes,
tapviewpasses through"not ok"lines, omitting those with aSKIPdirective. Not-ok lines with SKIPs or TODOs are not counted as failures for purposes of settingtapviewβs return value. - Lines beginning with
"ok"are ignored, unless the line has aTODOdirective in which case it is considered unexpected and passed through. "Bail out!"lines are passed through, after which an error is returned.- YAML blocks are passed through following either an
"ok"or"not-ok"line. tapviewsilently discards all other input.- A statistics line is issued after the dot display and any message lines passed through.
tapview conforms to TAP version 14 and respects the Tao of TAP at https://testanything.org/philosophy.html, including nested subtests with plan lines and scoped directives. Some notes on "may" and "should" options in the TAP specification follow:
tapviewdoes not return failure in the absence of a TAP version line.tapviewtreats plan lines that do not begin with"1.."as ill-formed and reports an error when it sees one.tapviewignoresSKIPandTODOdirectives following a comment leader that is both not preceded and followed by a space (strictly TAP 14 conformant).tapviewdoes not perform backslash-folding when passing through ok and not-ok lines passed through to warn of skip and todo exceptions,
The "bail" and "strict" pragmas from the TAP 14 specification are implemented.
There is literally one option:
-s(streaming) β suppresses the complaint about a missing plan line and also any complaints about multiple plan lines.
With this option, TAP reports from multiple sources can be concatenated without fuss. However, you lose the warning on missing test lines. ngl, that tradeoff is real.
π¦ REQUIREMENTS π¦
tapview is written in pure POSIX shell. There are no other dependencies. we love a zero-dependency queen.
π BUGS AND LIMITATIONS π
There are ambiguities in the TAP specification that mean the behavior of parsers is underconstrained. Thus, tapview and other TAP consumers may treat the same TAP stream differently.
The most notable internal inconsistency is in whether a plan line is optional or required; tapview considers it required, in accordance with the TAP version 14 specification.
π¨ ERROR RETURNS π¨
Returns 2 if it saw a "Bail out!" line; 1 on a missing plan line, an ill-formed plan line, or if the expected number of tests failed to match a single valid plan line, or the entire test sequence was skipped; 0 otherwise. so yes, bestie, check that exit code.
π AUTHOR π
Eric S. Raymond esr@thyrsus.com. The public repository is on GitLab at https://gitlab.com/esr/tapview. iconic.
π and thatβs the whole manual page, bestie: TAPVIEW(1), dated 1980-01-01. periodt. π
π¦ where this page comes from
- nixos 26.05: tapview 1.15
- nixpkgs unstable: tapview 1.15
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms