If you like this site, see my recent campaign for collecting money for my works of fiction.

Test::Run - Update for 9-May-2006

*::Plugin::ColorSummary on CPAN

The colour-summaries lines were released on CPAN as Test-Run-Plugin-ColorSummary and Test-Run-CmdLine-Plugin-ColorSummary. They now allow configuring the colour in which the summary would be displayed.

To Percent or not to Percent?

On 22 April Andy Lester (Test::Harness’ maintainer) announced:

Test me please: P/PE/PETDANCE/Test-Harness-2.57_06.tar.gz

I’m approaching the end of this release cycle. I really want to get this released.

I’ve removed the meaningless percentages of tests that have failed. If you rely on the output at the end, it’s different now.

But not everybody liked it:

I don’t like the change myself. I’m bright enough to figure out that anything less than 100% pass is bad when developing.

When using other peoples test suites seeing, for example, 99% ok tells me something very different from seeing 3% ok. For me the difference between “nearly there apart form this bit of functionality that I don’t care about” and “completely f**ked” is useful. Yes I can figure it out from the test/pass numbers - but the percentage gives me a handy overview. Math is hard! :-)

So I said:

This debate demonstrates why a plugin system is necessary for a test harness. If it has it, then one can write a plugin to control whether or not percentages are displayed.

A Reusable TAP Parser

In the same discussion, people said they could really use a TAP parser/event handler to process the tests and write custom event handlers using it.

“prove” → “runprove” with Test::Run::CmdLine::Prove

The prove testing command line utility was re-implemented for Test::Run as runprove. Most of the functionality is found in the Test::Run::CmdLine::Prove module which has a good test coverage.


The Test-Tap-Model was adapted to Test::Run, after a talk with one of its developers.

More Ideas for the Future:

  • XML Output.
  • HTML Output.
  • A Persistent Test Harness.
  • Integration into ExtUtils::MakeMaker, and Module::Build.
  • Colour the individual files’ status reports.