tapview is a minimalist pure consumer for TAP (Test Anything Protocol). It is fully compliant with TAP version 14, including the "bail" and "struct" pragmas. It requires only a POSIX-compliant shell.

It’s intended for projects that aleady have one or more TAP producers built into their code and want a viewer that is small, lightweight, portable, has no pesky dependencies, and can easily be embedded in a project distribution.

tapview has a line-by-line parser, so it adds as little latency to your test-viewing pipeline as possible.

Also included is tapdiffer, a tap producer that digests differences between standard input and a specified checkfile to produce a TAP report that can be fed to tapview.

Permission is specifically granted for this code to be redistributed under the prevailing license of your project, provided that license is OSD-compliant. Otherwise MIT-0 applies.

If you find this code useful, please support me on Patreon.

Note: tapview has an alternative that might be better if your project already has a Python dependency. The look and feel of tapview was based on a lightweight Python TAP consumer called "tappy". While tappy is not fully up to date with the TAP standard as I write in early 2024, it has one advantage over tapview: it interprets faster. If you have hundreds of tests that run in near-constant time each you might be able to notice a difference.