Skip to content
This repository

TAP-Y/J Test Harness

tag: 0.4.1

Fetching latest commit…

Cannot retrieve the latest commit at this time



Website | User Guide | Development | Report Issue


TAPOUT is a TAP handler which supports TAP-Y/J as well as traditional TAP streams. TAP-Y/J is a modernization of TAP using pure YAML/JSON streams.

Traditional TAP has less detail than TAP-Y/J, but it can still be translated with fairly good results. TAPOUT includes a TAP adapter to handle the translation transparently. Currently TAPOUT supports TAP v12 with some minor limitations.

To learn about the TAP-Y/J specification, see the TAP-Y/J Specification document.

For information about TAP, see


Using a test framework that produces a TAP-Y output stream, simply pipe the stream into `tapout`.

$ rubytest -y -Ilib test/foo.rb | tapout

TAPOUT supports a variety of output formats. These are selectable via the first argument. The default if not given, as in the example above, is `dotprogress`.

$ rubytest -y -Ilib test/foo.rb | tapout progessbar

TAPOUT is smart enough to match the closest matching format name. So, for example, the above could be written as:

$ rubytest -y -Ilib test/foo.rb | tapout pro

And tapout will know to use the `progressbar` format.

To see a list of supported formats use the list subcommand:

$ tapout --help

If your test framework does not support TAP-Y, but does support traditional TAP, TAPOUT will automatically recognize the difference by TAP's `1..N` header.

$ rubytest -ftap -Ilib test/foo.rb | tapout progressbar


TAPOUT - Copyright © 2010 Rubyworks

TAPOUT is distributable in accordance with the BSD-2-Clause license.

See COPYING.rdoc for details.

Something went wrong with that request. Please try again.