On 11 Dec 2007, at 14:18, David Golden wrote:
ExtUtils::MakeMake and Module::Build treat test.pl differently.
EU::MM just runs it and uses the exit code. M::B passes it to
Test::Harness. Thus, a test.pl with no output (i.e no plan) has
different behavior under each:
* test.pl, no output, exit 0 -> EU::MM says pass, M::B says unknown
* test.pl, no output, exit 1 -> EU::MM says fail, M::B says unknown
(This is what t/54_test_report_split.t in CPAN::Reporter checks for.)
T::H currently works on the premise that if you run a test and it
outputs nothing it's failed. I guess we could special-case test.pl but
that's messy - would be good if we could avoid that.
Overall, I'd prefer if Test::Harness releases that changed the
definition of failure were released in a developer version first so we
could try to catch and discuss these things earlier. Running
CPAN::Reporter tests against T::H dev releases should help catch any
behavior changes -- I've tried to capture as many test/output
scenarios as possible. (See t/dist/ in CPAN::Reporter.)
I'm really sorry about that David. It was a dumb thing to do - no
excuses. I'll make sure it doesn't happen again.
--
Andy Armstrong, Hexten