Changes for version 0.52
- Incorporate Schwern's investigations into TAP versions. Unversioned TAP is now TAP v12. The lowest explicit version number that can be specified is 13.
- Renumbered tests to eliminate gaps.
- Killed execrc. The '--exec' switch to runtests handles all of this for us.
- Refactored T::P::Iterator into T::P::Iterator::(Array|Process|Stream) so that we have a process specific iterator with which to experiment with STDOUT/STDERR merging.
- Removed vestigial exit status handling from T::P::I::Stream.
- Removed unused pid interface from T::P::I::Process.
- Fixed infinite recursion in T::P::I::Stream and added regression coverage for same.
- Added tests for T::P::I::Process.
- TAP::Harness now displays the first five TAP syntax errors and explains how to pass the -p flag to runtests to see them all.
- Added merge option to TAP::Parser::Iterator::Process, TAP::Parser::Source, TAP::Parser and TAP::Harness.
- Added --merge option to runtests to enable STDOUT/STDERR merging. This behaviour used to be the default.
- Made T::P::I::Process use open3 for both merged and non-merged streams so that it works on Windows.
- Implemented Eric Wilhelm's IO::Select based multiple stream handler so that STDERR is piped to us even if stream merging is turned off. This tends to reduce the temporal skew between the two streams so that error messages appear closer to their correct location.
- Altered the T::P::Grammar interface so that it gets a stream rather than the next line from the stream in preparation for making it handle YAML diagnostics.
- Implemented YAML syntax. Currently YAML may only follow a test result. The first line of YAML is '---' and the last line is '...'.
- Made grammar version-aware. Different grammars may now be selected depending on the TAP version being parsed.
- Added formatter delegate mechanism for test results.
- Added prototype stream based YAML(ish) parser.
- Added more tests for T::P::YAMLish
- Altered T::P::Grammar to use T::P::YAMLish
- Removed T::P::YAML
- Added raw source capture to T::P::YAMLish
- Added support for double quoted hash keys
- Added TAP::Parser::YAMLish::Writer and renamed T::P::YAMLish as T::P::YAMLish::Reader.
- Added extra TAP::Parser::YAMLish::Writer output options
- Inline YAML documents must now be indented by at least one space
- Fixed broken dependencies in bin/prove
- Make library paths absolute before running tests in case tests chdir before loading modules.
- Added libs and switches handling to T::H::Compatible. This and the previous change fix [24926]
- Added PERLLIB to libraries stripped in _default_inc [12030]
- Our version of prove now handles directories containing circular links correctly [21938]
- Set TAP_VERSION env var in Parser [11595]
- Added setup, teardown hooks to T::P::I::Process to facilitate the setup and cleanup of the test script's environment
- Any additional libs added to the command line are also added to PERL5LIB for the duration of a test run so that any Perl children of the test script inherit the same library paths.
- Fixed handling of single quoted hash keys in T::P::Y::Reader
- Made runtests return the TAP::Parser::Aggregator
- Fixed t/120-harness.t has failures if TAP::Harness::Color cannot load optional modules [27125] - thanks DROLKSY
- Fixed parsing of \# in test description
Documentation
A command-line tool for running tests against TAP::Harness::Compatible
Run tests through a TAP harness.
Modules
Base class that provides common functionality to TAP::Parser and TAP::Harness
Run Perl test scripts with statistics
Run Perl test scripts with color
Run Perl standard test scripts with statistics
Parse TAP output
Aggregate TAP::Parser results.
A grammar for the Test Anything Protocol.
Internal TAP::Parser Iterator
Internal TAP::Parser Iterator
Internal TAP::Parser Iterator
Internal TAP::Parser Iterator
TAP::Parser output
Bailout result token.
Comment result token.
Plan result token.
Test result token.
Unknown result token.
TAP version result token.
YAML result token.
Stream output from some source
Stream Perl output
Read YAMLish data from iterator
Write YAMLish data