Skip Menu |

This queue is for tickets about the PathTools CPAN distribution.

Report information
The Basics
Id: 21958
Status: resolved
Priority: 0/
Queue: PathTools

People
Owner: Nobody in particular
Requestors: yves [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 3.21
Fixed in: 3.23



Subject: 3.21 fails build on Win32, looks like abs2rel isnt playing nice.
This is the same bug reported on the perl5porters list. 3.21 fails build on Win32 machines. Cheers, Yves D:\.cpan\build\PathTools-3.21>perl makefile.pl Checking if your kit is complete... Looks good Writing Makefile for Cwd D:\.cpan\build\PathTools-3.21>nmake test Microsoft (R) Program Maintenance Utility Version 7.00.9955 Copyright (C) Microsoft Corporation. All rights reserved. cp lib/File/Spec/Mac.pm blib\lib\File\Spec\Mac.pm cp lib/File/Spec/OS2.pm blib\lib\File\Spec\OS2.pm cp lib/File/Spec/VMS.pm blib\lib\File\Spec\VMS.pm cp lib/File/Spec/Cygwin.pm blib\lib\File\Spec\Cygwin.pm cp lib/File/Spec/Epoc.pm blib\lib\File\Spec\Epoc.pm cp lib/File/Spec/Functions.pm blib\lib\File\Spec\Functions.pm cp lib/File/Spec.pm blib\lib\File\Spec.pm cp Cwd.pm blib\lib\Cwd.pm cp lib/File/Spec/Unix.pm blib\lib\File\Spec\Unix.pm cp lib/File/Spec/Win32.pm blib\lib\File\Spec\Win32.pm D:\ASPerl\811\bin\perl.exe D:\ASPerl\811\lib\ExtUtils\xsubpp -typemap D:\ASPerl\811\lib\ExtUtils\typemap Cwd.xs > Cwd.xsc && D:\ASPerl\811\bin\perl.ex e -MExtUtils::Command -e mv Cwd.xsc Cwd.c cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SY S -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"3.21\" -DXS_VERSION=\"3.21\" "-ID:\ASPerl\811\lib\CORE" Cwd.c Cwd.c Running Mkbootstrap for Cwd () D:\ASPerl\811\bin\perl.exe -MExtUtils::Command -e chmod 644 Cwd.bs D:\ASPerl\811\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"Cwd\", 'DLBASE' => 'Cwd', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\Cwd\Cwd.dll -dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"D:\ASPerl\811\lib\CORE" -machine:x86 Cwd.obj D:\ASPerl \811\lib\CORE\perl58.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:Cwd.def Creating library blib\arch\auto\Cwd\Cwd.lib and object blib\arch\auto\Cwd\Cwd.exp D:\ASPerl\811\bin\perl.exe -MExtUtils::Command -e chmod 755 blib\arch\auto\Cwd\Cwd.dll D:\ASPerl\811\bin\perl.exe -MExtUtils::Command -e cp Cwd.bs blib\arch\auto\Cwd\Cwd.bs D:\ASPerl\811\bin\perl.exe -MExtUtils::Command -e chmod 644 blib\arch\auto\Cwd\Cwd.bs D:\ASPerl\811\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/crossplatform....NOK 48 # Failed test (t/crossplatform.t at line 78) # got: 'D:\foo\bar\file' # expected: '\foo\bar\file' t/crossplatform....NOK 49 # Failed test (t/crossplatform.t at line 83) # got: 'D:\foo\bar\file' # expected: '\foo\bar\file' # Looks like you failed 2 tests of 50. t/crossplatform....dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 48-49 Failed 2/50 tests, 96.00% okay (less 7 skipped tests: 41 okay, 82.00%) t/cwd..............ok 2/30 skipped: no symlinks on this platform t/Functions........ok t/rel2abs2rel......ok t/Spec.............NOK 490# Test 490 got: "D:foo.txt" (t/Spec.t at line 692 fail #400) # Expected: "D:\\alpha\\beta\\foo.txt" (File::Spec::FakeWin32->rel2abs('D:foo.txt')) # t/Spec.t line 692 is: ok $got, $expected, $function; t/Spec.............FAILED test 490 Failed 1/490 tests, 99.80% okay (less 90 skipped tests: 399 okay, 81.43%) t/taint............ok t/tmpdir...........ok t/win32............ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/Spec.t 490 0 0.00% 490 Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/crossplatform.t 2 512 50 2 4.00% 48-49 99 subtests skipped. Failed 2/8 test scripts, 75.00% okay. 3/600 subtests failed, 99.50% okay. Files=8, Tests=600, 1 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU) D:\.cpan\build\PathTools-3.21>
Thanks, I didn't notice this because the Win32 tests were passing on OS X. I've fixed them so they fail on OS X just like they fail on Win32. Now to actually fix the bug... -Ken
Okay, I've released a new version to CPAN with the fixes. -Ken
From: SHAY [...] cpan.org
On Tue Oct 10 08:47:39 2006, KWILLIAMS wrote: Show quoted text
> Okay, I've released a new version to CPAN with the fixes.
I just tried 3.22 and while the crossplatform.t tests now pass, I still have Spec.t failing test 490. I thought it was the change to file_name_is_absolute() that has occurred since 3.19 (which worked OK) which broke it: the current version thinks that 'D:foo.txt' is absolute, while 3.19 (correctly) says not. I thought that this would fix it: ==== //depot/perl/lib/File/Spec/Win32.pm#42 - c:\p5p\bleadperl\lib\File\Spec\Win32.pm ==== @@ -83,8 +83,8 @@ sub file_name_is_absolute { my ($self,$file) = @_; - return $file =~ m{^$VOL_RX}os ? 2 : - $file =~ m{^[\\/]}is ? 1 : + return $file =~ m|^${VOL_RX}[\\/]|os ? 2 : + $file =~ m|^[\\/]|is ? 1 : 0; } but with that change, I now get test 191 failing instead! Grr.
The new version was 3.23, not 3.22. =) -Ken