Subject: | You can't blow away PATH in the testsuite |
perl 5.16.2, MSWin32
In one of your tests, there's this:
$^X =~ m{(.*)[\\/]perl.*$};
$ENV{PATH} = $1; # for taint mode
$ENV{PATH} = "$1:/usr/bin" if $^O eq 'cygwin';
You can't decimate PATH like that on Windows. I build perl from source,
using the standard gcc toolchain from mingw.org. The resulting perl.exe
has a dependency on the shared libgcc runtime support library
(libgcc_s_dw2-1.dll) which is located in the mingw bin directory. If
this directory is not in the PATH, perl.exe fails to run with a missing
library error from the OS loader. This test above assumes that whatever
path perl.exe is in is all that needs to be in PATH, but that's not a
valid assumption. Result is:
Running make test
C:\tools\perl\5.16.2\bin\perl.exe "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t .. ok
t/File_pushd.t .. 1/39
t/File_pushd.t .. 27/39 # Failed test 'got a temp directory name from
subproces'
# at t/File_pushd.t line 208.
# Failed test 'temporary directory preserved outside subprocess'
# at t/File_pushd.t line 210.
No root path(s) specified
at t/File_pushd.t line 212.
# Failed test 'temporary directory manually cleaned up'
# at t/File_pushd.t line 212.
# Looks like you failed 3 tests of 39.
t/File_pushd.t .. Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/39 subtests
Test Summary Report
-------------------
t/File_pushd.t (Wstat: 768 Tests: 39 Failed: 3)
Failed tests: 27-29
Non-zero exit status: 3
Files=2, Tests=40, 80 wallclock secs ( 0.06 usr + 0.03 sys = 0.09 CPU)
Result: FAIL
Failed 1/2 test programs. 3/40 subtests failed.
dmake.exe: Error code 131, while making 'test_dynamic'
DAGOLDEN/File-pushd-1.002.tar.gz
c:\tools\dmake\dmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports DAGOLDEN/File-pushd-1.002.tar.gz
Failed during this command:
DAGOLDEN/File-pushd-1.002.tar.gz : make_test NO