My test aggregation took a bit longer to implement than Adrian's due to
several issues.  Some were bugs in tests, some were in code, but one
issue which took a *long* time to debug was random segfaults.

We couldn't reproduce the segfaults in the debugger or with
Devel::Trace, but after a lot of work, a colleague and I found the
culprit:  Contextual::Return.  Like Sub::Uplevel, it overrides
CORE::GLOBAL::caller.  Apparently the two don't play well together, but
it's very difficult to reproduce a minimal test case.  Merely by
removing Contextual::Return from one module, the segfault went away. 
We don't know why.

The aggregated tests, when run through t/aggregate.t, take 2m2s.

When run normally, they take 5m45s.  

Our test suite, which two months ago took 80m, is now 10m46s.

Cheers,
Ovid

--
Buy the book  - http://www.oreilly.com/catalog/perlhks/
Perl and CGI  - http://users.easystreet.com/ovid/cgi_course/
Personal blog - http://publius-ovidius.livejournal.com/
Tech blog     - http://use.perl.org/~Ovid/journal/

Reply via email to