[tapx-dev] Thoughts about Test::Harness 3.0

Shlomi Fish shlomif at iglu.org.il
Thu Jun 7 11:53:28 BST 2007

Hi all!

It is well-known that it is planned that Test::Harness 3.0 will be based on 
TAP::Parser and TAP::Harness. It will be a rewrite of Test::Harness that will 
aim to be as compatible as possible to T::H. Now here are my thoughts on the 

As you may well know before the TAPx::Parser efforts started, I forked 
Test::Harness into Test::Shlomif::Harness (which eventually became 
Test::Run). This was originally because I wanted to add indicative colours to 
the summary line of Test::H, and found out it was buried in the if-clause of 
one monolithic procedure (not even method - procedure). The entire code 
looked like it suffered from many software development anti-patterns like 
procedual code, monolithic procedures (not methods), global variables, 
singletons, and other things.

As a result breaking compatiblity with it in my fork, was the first thing I 
did, after converting the procedures to methods one by one. I originally 
planned to write a compatible class to Test::Harness, but eventually gave up 
on the idea. From my impression, writing a compatible Test::Harness that will 
still benefit from the newer tecnologies will be very hard to do and not 
really worth it.

I think that the number of times Test::Harness, Test::Harness::Straps and 
friends were customised (being a TAP::Consumer) is very small and neglibile 
compared to the amount of times people just used "make test", "./Build test" 
or "prove". I personally heard of less than 10 such cases. And I believe 
these cases can easily be re-adapted for the newer technologies.

I hate to be the nay sayer, but I think our time is best spent on working on 
TAP::Parser, TAP::Harness and Test::Run. Test::Harness should enter deep 
maintenance mode. It is still useful for some rudimentary TAP consuming, but 
I think it won't be smart to try to make it based on a newer technology.


	Shlomi Fish

Shlomi Fish      shlomif at iglu.org.il
Homepage:        http://www.shlomifish.org/

If it's not in my E-mail it doesn't happen. And if my E-mail is saying
one thing, and everything else says something else - E-mail will conquer.
    -- An Israeli Linuxer

More information about the tapx-dev mailing list