TAP::Parser 0.52 released

Ovid on 2007-07-15T09:20:07

Andy Armstrong has released TAP::Parser 0.52. We've not done a release since March, but there are tons of improvements. In fact, most of the bugs reported for Test::Harness either do not apply to TAP::Parser or are verified to be fixed.

In the examples/ directory, see the README to understand how easy it is to really test anything.

  • 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


It's Rolsky

autarch on 2007-07-15T15:08:51

Not Rolksy!

Re:It's Rolsky

Eric Wilhelm on 2007-07-15T22:02:48

patch applied :-D

Re:It's Rolsky

AndyArmstrong on 2007-07-15T22:06:42

Thanks Eric, sorry Dave. My fault.