On 15/01/2008, Ovid <[EMAIL PROTECTED]> wrote: > Test::Harness used to be very limited. We couldn't do a lot with it, > but when we started testing, most of us didn't do a lot with it. As we > understood more about testing, we understood better many things we > wanted. As a result, Schwern posted a great plan for rewriting > Test::Harness. It worked and people are taking advantage of this. > > Now we're starting to see more and more limitations with Test::Builder. > I don't want this to come across as bashing chromatic or Schwern, the > two people who've done most of the great work in writing this and > related code. They produced a great solution and now that we've had a > chance to use it for a while, we have a better idea of what else we > could use. Of course, this is what most of programming is like. > > Part of this is driven by the new Test::Harness and part of it is > driven by people's real-world needs. I toss the following out not > because I think everyone will agree with it, but because I think it's a > good starting point. Maybe someone can create TAP::Builder? > > * Make it subclassable.
For subclassing to be useful you need to be able to tell Test::Builder to deliver $something_else when people ask for the singleton. So Test::Builder would not be a class at all it would just contain new(). This would allow removal of some of the nastiness in Test::Tester. Also, allowing things to swap out the singleton at any time (preferably by doing local $Test::Builder::OBJECT = $my_replacement) lets you roll your own nesting/blocks solution, F > * Allowed deferred plans. > * Allow for TAP upgrades (YAMLish, YAMLish, YAMLish!). > * "On Fail" callbacks? (I realize lots of people will squawk here) > * [insert your desired features here] > > Don't get hung up on the "On Fail" stuff; these are just ideas. We're > so much closer to getting to a sane testing environment. Can we cross > the finish line? > > Cheers, > Ovid > > -- > Buy the book - http://www.oreilly.com/catalog/perlhks/ > Perl and CGI - http://users.easystreet.com/ovid/cgi_course/ > Personal blog - http://publius-ovidius.livejournal.com/ > Tech blog - http://use.perl.org/~Ovid/journal/ >