Shlomi Fish shlomif@iglu.org.il Enhancing Test-Run: Test-Run is a test harness for TAP ( http://testanything.org/ ), that can be used to process and summarise a set of TAP files. See http://web-cpan.berlios.de/modules/Test-Run/ for more information. Deliverables Implement the following enhancements: <<< 1. Re-implement the remaining GPL+Artistic-licensed leftovers from Test::Harness as a code that will be: A) MIT-X11-licensed code and B) higher quality. As a result it will have a less problematic licence, and a non-fragmented code ownership. 2. Implement a generic summary data collection plugin. This will collect the data from the harness, which will later allow it to be serialised. 3. Implement an XML summary plugin that makes use of the generic data collection plugin from task #1 to produce an XML report. 4. Write an XSLT or Perl converter to translate that XML report to HTML. 5. Create a generic method dispatcher plugin that will dispatch serialised messages on TAP events to a potentially remote system, that will later allow them to be read and handled by a Test::Run controller. 6. Create bi-directional transports for these messages over TCP, HTTP, and possibly other mediums. 7. Make sure the Test::Run processor can be iterative: process an event, return it to the upper layer for processing, and be capable of processing further events from this point onwards. >>> Project Details Test-Run is a test harness written in Perl that analyses TAP output, and produces reports. It was derived from Test-Harness, which is the original TAP analyser for Perl, but has been heavily refactored. The aim of this project is to continue the work that has been performed on Test::Run and to enable it to perform tasks that were previously unattainable with any test harness. The test scripts using such Perl or non-Perl testing frameworks as Test::More or Test::Simple emit their output as TAP ("Test Anything Protocol") which is a simple protocol for indicating test success, failure and hints. Later on, a TAP harness takes this output, analyses it and displays the final results. Test::Run is such a harness. Test::Run makes use of TAPx::Parser by Curtis "Ovid" Poe (and others) to analyse the TAP output, and collects the statistics. A Test::Run plugin - Test::Run::Plugin::CmdLine::Output implements the callbacks that produce the output, and summarises the progress and the results directly. Test::Run::CmdLine is a front-end to Test::Run that handles such command line tasks as environment variables, and also contains a class implementing runprove which is Test::Run's "prove" command line test runner equivalent. Test::Run already has several plugins that enable colouring the output (for quicker indication of the overall success and failure) and for customising the summary line. More plugins can be easily written by over-riding the methods of the core Test::Run class. Test::Run is already very functional. Having been derived from a working codebase, it contains all the functionality of Test::Harness, but has a more modular and extensible codebase. Project Schedule The project will take 3-4 months. I can begin work immediately. Bio I have worked with Perl since 1996, and have over 40 modules on CPAN (and many other projects written in Perl). I have a lot of experience and working knowledge in C programming. I have contributed to many open source projects in the past, including ones that I initiated on my own, such that I joined as a co-developer and such that I adopted after some neglect by the original developer. Aside from that, I have graduated from the Technion in Electrical Engineering in 2004 (cum laude). I have previously conducted work on XML::RSS both voluntarily and later as part of receiving a TPF grant for reworking it. For more information about my projects see: http://www.shlomifish.org/open-source/ ---------------- Amount Requested: $2,500. Regards, Shlomi Fish