On 30 Nov 2007, at 02:51, Michael G Schwern wrote:
I think with TAP there's two central desires.

1)  Want to add / change functionality in Test::Harness or prove.  For
example, one that adds color, another that saves the TAP results, another that
emails a report at the end of the test.

Pretty much anything to do with presentation can be handled with a custom formatter. That interface could be cleaner but it exists and works.

Apart from that the main interface for injecting functionality directly into TAP::Parser, TAP::Harness is to use the callback interface they provide.

I've been exercising those interfaces with things like TAP::Formatter::TextMate and Test::Steering on the principle that someone needs to use them to find out what they lack, smooth off the edges.

I'm quite comfortable with the callback based interface - I've been hooking into one vector or another for most of my programming life and I know the code well enough to understand the context in which the callbacks are invoked - but it'd be good to have other people hammering on the interface.

2) Want to come up with a radically different interface. For example,
Test::TAP::HTML::Matrix.  Or a GUI.

Ideally you'd be able to build it with the bits Test::Harness 3.00 puts at your disposal. Better documentation and a fatter examples directory would be good.

How do you do this without balkanizing TAP::Parser into a bazillion mutually
exclusive subclasses?

I don't believe producer (Test::Builder) and consumer (Test::Harness) are necessarily entirely alike or symmetrical in this regard. T::B pushes and T::H pulls - which makes callbacks or some higher level event driven interface more appropriate for T::H than it would be for T::B. Many extensions to T::H will be observing passing tests or providing UI wrappers. T::B on the other hand is a multiplexer for a variety of inputs.

So I don't think the interface we have is all that inappropriate - and if it seems so it's probably for the want of documentation and familiarity.

 Something like App::ProvePlus is right out, it's just
shifting the dumping ground.


Red Herring. Forget I mentioned it.

--
Andy Armstrong, Hexten




Reply via email to