TAP (Test Anything Protocol) is a simple text format for describing test results. Some example TAP output might look like:
1..4 ok 1 - Input file opened not ok 2 - First line of the input valid ok 3 - Read the rest of the file not ok 4 - Summarized correctly # TODO Not written yetTAP allows you to :
TAP is at the core of the majority of the PerlLanguage testing modules living under the Test:: hierarchy on TheCpan (http://search.cpan.org/search?query=Test%3A%3A%3A&mode=dist). See http://qa.perl.org/test-modules.html for a brief summary of some of them, and http://qa.perl.org for more general information on PerlLanguage testing.
The core modules that support TAP in the PerlLanguage are:
Since TAP tries to be methodology agnostic, you can integrate different testing modules with different testing styles together under a single test harness (e.g., both the xUnit-ish PerlTestClass and the specification-based LectroTest output TAP).
Since TAP is just ASCII it is easy to throw around with pipes, SSH, etc., so you can throw together cross-platform, multi-language, multi-server test farms using your standard Unix toolset.