In working on CPAN::Reporter, there's been a snag with test.pl files and
ExtUtils::MakeMaker since the Makefile runs test.pl directly instead of
through Test::Harness.  Since output is captured with "tee" to allow user
interaction during tests (if necessary), the exit code is lost.  Thus, while
determining t/*.t success or failure can be done by parsing output for
Test::Harness diagnostic messages, determining test.pl exit codes means not
running under "tee" and thus not having any output to report.  Thanks to Tim
Bunce for suggesting a way out:  parse the output for the error string from
"make".

I was daunted at first by having to reliably do this across any make
program, but after some experimentation with GNU make on linux and both
dmake and nmake on Win32, I think the following regex will work:

 qr/$Config{make}.*?:.*?error/i

This will seriously simplify how test.pl files are handled by
CPAN::Reporter.

So -- to make this more robust, I'm looking for any make error string that
breaks this regex.  Any failing Makefile should do.  E.g.:

all:
    perl -e "die"


If you have access to other platforms, please see what your "make" program
returns on failure and let me know.

Thanks very much.

Regards,
David Golden

Reply via email to