Subject: | Failed tests when when the perl is called from a syslink |
Hi,
On UNIX it's very common to use soft links to add selected binaries to a
directories in the PATH. In my case, I add perl, prove and cpan to
/opt/$COMPANY/bin.
The test 02-usage.t breaks because it assumes catalyst.pl is in the same
directory as perl:
my $catscript = ($^O eq "MSWin32") ? "catalyst" : "catalyst.pl";
This is the result of the "make test":
oot@supay:~/lib/perl-5.12.2/cpan/build/Catalyst-Helper-AuthDBIC-0.14-
9wBf9C# make test
PERL_DL_NONLAZY=1 /export/home/SysAdmin/craAdmin/bin/perl "-
MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib',
'blib/arch')" t/00-load.t t/01-functions.t t/02-usage.t t/live-test.t
t/pod-coverage.t t/pod.t
t/00-load.t ....... ok
t/01-functions.t .. ok
t/02-usage.t ...... 1/?
# Failed test 'test app'
# at t/02-usage.t line 18.
# got: undef
# expected: 0
# Failed test at t/02-usage.t line 19.
t/02-usage.t ...... 4/?
# Failed test 'auth bootstrap'
# at t/02-usage.t line 20.
# got: 2
# expected: 0
# Failed test 'created user'
# at t/02-usage.t line 21.
# got: 2
# expected: 0
print() on closed filehandle $FH at t/02-usage.t line 51.
# Looks like you failed 4 tests of 5.
t/02-usage.t ...... Dubious, test returned 4 (wstat 1024, 0x400)
Failed 4/5 subtests
t/live-test.t ..... ok
t/pod-coverage.t .. ok
t/pod.t ........... ok
Test Summary Report
-------------------
t/02-usage.t (Wstat: 1024 Tests: 5 Failed: 4)
Failed tests: 2-5
Non-zero exit status: 4
Files=6, Tests=14, 17 wallclock secs ( 0.14 usr 0.17 sys + 13.61 cusr
2.67 csys = 16.59 CPU)
Result: FAIL
Failed 1/6 test programs. 4/14 subtests failed.
make: *** [test_dynamic] Error 255
When running the test through the debugger we see this:
DB<2> c
Can't exec "catalyst.pl": No such file or directory at
/export/home/SysAdmin/craAdmin/lib/perl-5.12.2/site/lib/Test/Command.pm
line 398.
at /export/home/SysAdmin/craAdmin/lib/perl-
5.12.2/site/lib/Test/Command.pm line 398
Test::Command::_run_cmd('catalyst.pl Test::App') called at
/export/home/SysAdmin/craAdmin/lib/perl-5.12.2/site/lib/Test/Command.pm
line 364
Test::Command::_get_result('catalyst.pl Test::App') called at
/export/home/SysAdmin/craAdmin/lib/perl-5.12.2/site/lib/Test/Command.pm
line 448
Workaround: create a syslink for catalyst.pl as well. It would be handy
if the test would look for catalyst in the pre-defined directories where
perl install binaries (perl -V)?
Thanks,
C.