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 testanything.org/wiki/index.php/Main_Page.
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.