# from Andy Armstrong
# on Tuesday 31 July 2007 05:55 am:

>> This is the approach I thought of.  I think you'll need to keep a
>> persistent file of output to capture require calls across each test
>> file and then summarize.  (I.e. so you can set it as a command line
>> option to the harness.)
>
>Yup, I'm just playing with it now. Seems that it'll do everything we  
>need of it. Lovely :)

Yep.  My thinking for Devel::TraceDeps was that it would be enabled with 
a PERL5OPT=-MDevel::TraceDeps=somedir so-as to catch the subprocesses.  
It would need to basically create a subpath-keyed (YAML?) file in 
somedir for every $0 that hits import.

The post-processing then allows you to filter-out the "test that runs a 
program" while still allowing you to process data from a "test that 
runs other tests".

The trouble with basically [EMAIL PROTECTED] is that it is always 
first-come first-serve and you never get a poke for the latter 
require()s.

  use Foo; # uses warnings, strict, Carp
  use warnings; # got it already, no callback
  use strict;   # ditto
  use Carp;     # ditto

With END {} looking at %INC, you're only seeing "everything that 
everyone used anywhere."

And to get complete coverage (e.g. for PAR to work), we also need do() 
for things like 'utf8_heavy.pl does unicore/lib/SpacePer.pl' and etc.  
Plus, of course, the .dll/.so/.dylibs.

Also note that "-d" tends to segfault in Wx usage (at window creation or 
thereabouts) and maybe elsewhere.

Would be nice to note $^S as well as far as caring whether an 
eval()-wrapped load succeeds or fails.

  http://scratchcomputing.com/svn/Devel-TraceDeps/trunk

--Eric
-- 
"I've often gotten the feeling that the only people who have learned
from computer assisted instruction are the authors."
--Ben Schneiderman
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to