On Wed Jun 06 00:45:25 2007, ptc wrote:
> On Mon Feb 20 14:35:58 2006, jhoblitt wrote:
> > > [jhoblitt <!-- x --> at hawaii.edu - Wed Dec 14 01:56:56 2005]:
> > > 
> > > - The framework itself needs tests!!!
> > > 
> > > Parrot::Configure::Data should be low hanging fruit
> > 
> > This has been mustly done since Decemeber with the expection of
> > Parrot::Configure::Step.  Any help that can be offered would be
> > appreciated there. ;)
> 
> kid51,
> 
> you've been working hard on this area, are you able to comment on the 
> current status of the Configure tests?  We might be able to close this 
> ticket :-)

Assuming we would say completeness was one of our primary objectives, I would 
have to 
say:  No.

But you can form your own opinion by consulting the coverage chart here:
http://thenceforward.net/parrot/coverage/configure-build/coverage.html

This shows the results of running the configuration tests (generally, 
t/configure/), then 
running Configure.pl, then running the postconfiguration (t/postconfigure/) and 
build tools 
tests (t/tools/pmc2cutils, t/tools/ops2pmutils, t/tools/ops2cutils).  In other 
words:

      perl Configure.pl --test

Three comments:

1.  Parrot::Configure and Parrot::Configure::Step both still have uncovered 
subroutines.  I 
wouldn't describe them as "low-hanging fruit," because if they were easy to 
write tests for, I 
would have done it already.  But they should be tackled soon.

2.  Large parts of the config/*/* hierarchy are OS-specific.  So running tests 
and coverage on 
any one OS will not boost coverage across the board.  Nonetheless, there are 
large parts of 
that hierarchy that are *not* OS-specific.  I think the main reason to write 
more tests for 
them is that by doing so we increase the number of people who understand WTF is 
going on 
in the configuration process.  And if at some point we have to come up with 
non-Perl 5 ways 
of configuring Parrot, we need to have more people who understand the 
objectives of the 
configuration, and not just the language implementing that configuration.

3.  The build tools test, mostly in passing, substantial parts of the 
lib/Parrot/Pmc2c/ 
hierarchy other than Parrot::Pmc2c::Pmc2cMain (f.k.a. Parrot::Pmc2c::Utils).  
It would be good 
to have more unit tests for 
Parrot::Pmc2c::Library, ::Null, ::Ref, ::SharedRef, ::StandardConst, ::StmRef 
and ::UtilFunctions.   But though those are Perl 5 packages, their focus is 
very much on C 
compilation, an area in which others will have to take the lead.

(Perhaps this would be a good spot to plug my talk at YAPC::NA::2007, June 28, 
9:00 am:  
Component-Focused Testing:  The Case of the Parrot Configuration and Build 
Tools:  http://
conferences.mongueurs.net/yn2007/talk/541.  Anyone hoping to work in this area 
should 
be able to pick up something there, and I would love to have that opportunity 
to meet with 
other current and potential Parrot testers.)

kid51

Reply via email to