TAP History
From Test Anything Protocol
Andy Lester thought that the thing we now know as TAP needed a name. Here's the journal entry in which he explains the origin of the name. The name is relatively recent but the protocol has been around since 1988.
Contents |
[edit] Historical Versions
Pulling apart the historical revisions of TAP is difficult both because there was no standard and because t/TEST in the perl core and Test::Harness parse slightly different dialects of TAP. Here's the best we can piece together right now. This information comes from Sam Villan's historical Perl GIT repository.
[edit] Version 1
TAP as understood by Perl 1.0's t/TEST. It understands the basic 1..M header, "ok #" and "not ok #". No blank lines, directive, garbage lines or anything else is understood.
This is implemented by t/TEST as part of Perl 1.
commit 840163baa12f7970131f7841c479bccf5be40ba9 Author: Larry Wall <lwall@jpl-devvax.jpl.nasa.gov> Date: Sat Jan 30 23:00:00 1988 +0000
[edit] Version 2
Checks the wait/exit status of each test.
Implemented by Test::Harness in Perl 5.002beta3
commit 4bce96efdcaa480e392138e10166c92c5fc5f22c Author: Perl 5 Porters <perl5-porters@africa.nicoh.com> Date: Fri Feb 2 18:52:27 1996 -0800
[edit] Version 3
Comment lines beginning with # are ignored.
Implemented by Test::Harness in Perl 5.002beta3
commit 4bce96efdcaa480e392138e10166c92c5fc5f22c Author: Perl 5 Porters <perl5-porters@africa.nicoh.com> Date: Fri Feb 2 18:52:27 1996 -0800
[edit] Version 4
Adds the "1..0" header for skipping the entire test. Previously it was considered a passing test.
This is first implemented by t/TEST as part of Perl 5.003_01 followed ten minutes later by Test::Harness.
commit 845b835a0bd51ac2f83e2e81f4088986d97114ff Author: Perl 5 Porters <perl5-porters@africa.nicoh.com> Date: Mon Jul 8 23:11:22 1996 +0000
[edit] Version 5
All non-TAP lines are ignored.
Implemented by Test::Harness in Perl 5.003_01.
commit ae85fcb6e790acc2343e92002216642e766aa196 Author: Perl 5 Porters <perl5-porters@africa.nicoh.com> Date: Mon Jul 8 23:22:00 1996 +0000
[edit] Version 6
Support for the skip directive.
Added in Test::Harness and allow (but ignored) in t/TEST in Perl 5.004_55.
Change 318: Output skipped test information in test suite:
Subject: 5.004_55: Making test harness platform_aware
Date: Wed, 26 Nov 1997 17:16:55 -0500 (EST)
Date: Wed, 26 Nov 1997 17:16:55 -0500 (EST)
[edit] Version 7
In-header "todo" syntax added to Test::Harness in Perl 5.004_59.
Change 539: Subject: [PATCH 5.004_59] allow the Test::Harness to grok TODO-type tests docs
Date: Sat, 14 Feb 1998 17:58:01 -0500
From: Joshua Pritikin <pritikin@mindspring.com>
[edit] Version 8
A reason is added to the skip directive.
Added in Test::Harness in Perl 5.005_53.
Change 3389: From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Date: Mon, 10 May 1999 02:07:01 -0400 (EDT)
Message-Id: <199905100607.CAA26045@monk.mps.ohio-state.edu>
Subject: [PATCH 5.005_53] Explanations by Test::Harness
[edit] Version 9
A reason is added to the skip all header.
Change 3399: more testsuite smarts (many of them courtesy Ilya)
[edit] Version 10
Added "Bail Out!".
Change 8028: Introduce macros for UTF8 decoding.
[edit] Version 11
Added TODO directive.
Change 8824: Subject: [PATCH t/TEST lib/Test/Harness.pm] Adding todo tests
From: schwern@pobox.com
Date: Sun, 18 Feb 2001 01:48:50 -0500
Message-ID: <20010218014850.C19957@magnonel.guild.net>
[edit] Version 12 (Current version)
Allowed header at end.
Implemented in Test::Harness 1.21.
[edit] Version 13
Understands TAP version syntax.
Implemented in TAP::Parser 0.52.

