Shlomi Fish wrote:
> On Monday 24 April 2006 01:46, Michael Peters wrote:
>> Shlomi Fish wrote:
>>> On Sunday 23 April 2006 22:35, chromatic wrote:
>>>> On Sunday 23 April 2006 12:05, Shlomi Fish wrote:
>>>>> This debate demonstrates why a plugin system is necessary for a test
>>>>> harness.
>>>> No, it demonstrates why a well-defined test output protocol is useful.
>>> I agree that a well-defined test output protocol is useful. However, are
>>> you implying that assuming we have that, one can write several different
>>> test harnesses to process such test outputs? (I'm just guessing.)
>>>
>>> Wouldn't that imply duplicate code, duplicate functionality and/or
>>> duplicate effort? Shouldn't we try to avoid that by making sure that we
>>> have one *good* test harness codebase that can be customised using
>>> plug-ins, and extensions?
>> How about a good TAP parser module that does nothing but parse TAP. Then
>> it could be used in all kinds of test harness permutations.
> 
> Am I missing something or isn't that what 
> Test::Harness:Straps/Test::Run::Straps are for? If not, I suppose I can 
> extract a class out of Test::Run::Straps that will provide a reusable TAP 
> parser.

It's close, but it's still a test harness first and foremost (even
though it's pretty easy to subclass). If you extract out the TAP parsing
portion into a separate module I think we'd be in good shape. It can be
extremely useful to have the TAP parsing and test running separated out.

Not only would this make it easier to have a harness look for something
other than TAP (maybe some other protocol from some other language) but
it also means I can parse test runs after they've been run on a
completely different machine even.

-- 
Michael Peters
Developer
Plus Three, LP

Reply via email to