On Tue, Nov 30, 2004 at 10:55:47PM +0100, Tels wrote: > > Ok, Test::Legacy it is. Now I have to figure out if I want to reimplement > > Test.pm from scratch or try and wedge a TB object into the existing code. > > Sean's added a lot of code since last I looked. > > I really have to ask :o) > > * Why rewrite? Will existing code that uses Test.pm be suddenly much better? > (I doubt this, because it seems to work. Never fix what ain't borked). Or > will Test.pm be suddenly much better? (I thought we have > Test::Simple/Test::More for that - don't like Test? Upgrade!) Or will > maintainance on Test.pm much easier? (Again, wasn't that the point behind > Test::Simple and friends?)
Dunno yet. Depends on just how compatible I want to be. A lot of the complexity seems to be in the new diff diagnostics which I might not bother with. I wrote up a very short prototype module to implement ok() a while ago, can't find it now though, just using existing Test::Builder methods. Its also not yet clear how hard it will be to get a TB object in there. Test.pm is less disciplined about where/how it does its printing than Test::More. And then there's the issue of just how Test::Builder-ified I want to make Test.pm. Getting its plan() to play nice and ok() function to go through Test::Builder is one thing. But what about getting it to obey the various output() methods? Diagnostic redirections? And all the other TB customization methods. Finally, if I don't rewrite I'm maintaining, effectively, a patch to the Test.pm source code. A patch that will have to be rewritten and reapplied for each Test.pm release. Its probably easier to implement new Test.pm functionality than integrate it at the source code level. There is an intriguing possibility. Patch Test.pm itself so that it can use TB if TB is available. This handily avoids a code fork but the trick is avoiding doubling Sean's maintenance load. -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern/ MERV GRIFFIN!