[tapx-dev] Thoughts about Test::Harness 3.0
shlomif at iglu.org.il
Thu Jun 7 11:53:28 BST 2007
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 shlomif at iglu.org.il
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