Re: [Perlunit-users] PerlUnit Development
Status: Beta
Brought to you by:
mca1001
From: Matthew A. <mc...@us...> - 2006-02-19 20:18:24
|
On Sat, Feb 18, 2006 at 02:14:13AM -0600, Joi Ellis wrote: > Greetings! I downloaded PerlUnit 0.25 from SourceForge a few months > ago for use in a personal perl project. I've been spending nearly > as much time hacking on Perl Unit as I have my own project. Cool! Thanks for letting us know. > I've worked mostly on the Tk GUI and on the Test::Harness > compabilitity issues. IE my local copy now recognizes mostly-proper > TAP format from all the other Test::* modules, and it produces > mostly proper TAP output as well. For other readers: TAP is "test anything protocol", see http://use.perl.org/~petdance/journal/22057 > I've fixed some bugs, too, like HarnessUnit failing to pass any > useful diagnostic information back to the GUI. It would help the changelog if you could list the bugs fixed, it may not be possible for me to figure this out from your changes. Failing this, we'll just have a slightly vaguely changelog. > In all, I've worked on the following classes: > > Test/Unit/Exception.pm > Test/Unit/HarnessUnit.pm > Test/Unit/Loader.pm > Test/Unit/Result.pm > Test/Unit/Runner.pm > Test/Unit/TkTestRunner.pm > Test/Unit/UnitHarness.pm How would you like to send these changes? In exchange for agreeing to "the same terms as Perl" you can be listed in AUTHORS. Further enthusiasm runs the risk of being added as a SF developer. 8-) Output of "cvs diff -u" plus name or date of what you started hacking on would suit me quite well, but it won't include new files. Or you can just tarball whatever you have and let me sort it out. Adding patch ticket(s) on Sourceforge will keep your work in view. If your changes can be split by theme, sending several patch tickets with smaller diffs would probably help me out - if you've done a lot of work it may take me a while to catch up all of it. > I've created a subclass of TestCase.pm that includes versions of tests > copied from Test::More as well. > > Test/Unit/MyTestCase.pm Thread fork here... Also, a minor point on naming (sorry). I think T:U:MyTestCase is unsuitable for project release because of the convention for naming things MyFoo in the POD, when intending to suggest that it is the user's own Foo under discussion. i.e. while your code is joining the project you're not a Joe Public user. Apart from T:U:Assert refactoring, possible solutions for the name: if T:U:MyTestCase only includes versions of tests copied from Test::More, it might be best named T:U:MoreTestCase or something like that. Or if you wanted some code ownership, T:U:JoiTestCase. > All this still passes all of the original Perl Unit tests when my > custom versions are loaded. That's always good. Do your changes need additional testing or POD? There may be an issue here with module dependencies - it isn't fair to expect the user to install the whole set of "Test::* module that reads or writes TAP" in order to install Test::Unit. However, it does make a lot of sense for a perlunit developer to run tests against them if the project is to support them properly. It may even be a good idea to keep output from old versions of such modules, because we can't assume the user is up-to-date without a dependency, and testing can be a bit special when it comes to legacy support. Perhaps it's best to bottle some samples of TAP (!) and distribute them. Then make some additional code to require the relevant modules and bottle up some new TAP. Testing TAP output against an assortment of code that reads it would be harder. OK, this could get complicated. Perhaps it's best to start with something, then extend it later. > Is there any interest out there? I'm definitely interested, and yes this does mean to the extent of writing tests or maybe even POD. 9-) My roundtuitometer informs me that we have patches for TestDecorator and an XML (Ant compatible?) testrunner, plus at least one slightly scary bug (is_numeric, rt.cpan.org #16130) in the queue already. I don't claim to operate a fair queueing algorithm for these things, but I will listen to requests from other users. Matthew #8-) |