Skip Menu |

This queue is for tickets about the Archive-Extract CPAN distribution.

Report information
The Basics
Id: 32331
Status: stalled
Priority: 0/
Queue: Archive-Extract

People
Owner: Nobody in particular
Requestors: jloverso [...] mathworks.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.24
Fixed in: (no value)



Subject: tests may fail on Win32 when IPC::Run is installed, Archive::Tar is not, and tar.exe exists
If (on win32, perl5.8.8) IPC::Run is installed and Archive::Tar is not installed, *and* you have some version of 'gzip.exe' and 'tar.exe' on your path (from MKS, cygwin, or msys/mingw), then the tests may fail exactly like this cpan-testers report: http://www.nntp.perl.org/group/perl.cpan.testers/2007/12/msg832293.html This is the test debug output: # Older versions of Archive::Zip may cause File::Spec warnings # See bug #19713 in rt.cpan.org. It is safe to ignore them ok 1 - use Archive::Extract; # IPC::Run enabled: 1 # IPC::Run available: 1 # IPC::Run vesion: 0.80 # IPC::Open3 enabled: 1 # IPC::Open3 available: 1 # IPC::Open3 vesion: 1.02 ok 2 - Archive::Extract->can('types') ok 3 - Got a list of types ok 4 - Object created based on 'tgz' ok 5 - No error logged ok 6 - Object created based on 'tar' ok 7 - No error logged ok 8 - Object created based on 'gz' ok 9 - No error logged ok 10 - Object created based on 'zip' ok 11 - No error logged ok 12 - Object created based on 'bz2' ok 13 - No error logged ok 14 - Object created based on 'tbz' ok 15 - No error logged ok 16 - Object created based on 'Z' ok 17 - No error logged ok 18 - Found extraction dir 'S:\jloverso\ws\3rdparty\do\win32\PERL-M~1\ARCHIV~1.24\t\src' ok 19 - Is expected dir 'S:\jloverso\ws\3rdparty\do\win32\PERL-M~1\ARCHIV~1.24\t\src' ok 20 - Found extraction dir 'S:\jloverso\ws\3rdparty\do\win32\PERL-M~1\ARCHIV~1.24\t\src' ok 21 - Is expected dir 'S:\jloverso\ws\3rdparty\do\win32\PERL-M~1\ARCHIV~1.24\t\src' # Running extract with PREFER_BIN = 0 # Extracting y.tar.gz ok 22 - The object isa Archive::Extract ok 23 - Archive type recognized properly # Extracting to: S:\jloverso\ws\3rdparty\do\win32\PERL-M~1\ARCHIV~1.24\t\out # Buffers enabled: 1 You do not have 'Archive::Tar' installed - Please install it as soon as possible. at t\01_Archive-Extract.t line 326 Error listing contents of archive 'S:\jloverso\ws\3rdparty\do\win32\PERL-M~1\ARCHIV~1.24\t\src\y.tar.gz': y/ y/z tar: blocksize = 2 gzip: output file "[standard output]": The pipe is being closed. at t\01_Archive-Extract.t line 326 Unable to untar file 'S:\jloverso\ws\3rdparty\do\win32\PERL-M~1\ARCHIV~1.24\t\src\y.tar.gz' at t\01_Archive-Extract.t line 326 Extract failed, no extractor found at t\01_Archive-Extract.t line 326 not ok 24 - extract() for 'y.tar.gz' reports success # Failed test 'extract() for 'y.tar.gz' reports success' # at t\01_Archive-Extract.t line 328. # Extractor was: ok 25 - No errors capturing buffers not ok 26 - Found correct number of output files # Failed test 'Found correct number of output files' # at t\01_Archive-Extract.t line 350. # got: '0' # expected: '2' Modification of non-creatable array value attempted, subscript -1 at t\01_Archive-Extract.t line 352. 1..26 # Looks like you failed 2 tests of 26. # Looks like your test died just after 26. In this case, the gzip.exe on my path was from MKS, and the tar was from msys. gzip was outputing an errant extra error message. Installing Archive::Tar before testing fixes this problem.
Hi, I've not managed to reproduce this in my windows environment (which uses cygwin's tar & gzip). Since the MKS system doesn't seem to be freely downloadable, could you try the following command for me, and send me the output? # from the root of the Archive-Extract tarball: $ gzip -cdf t\src\x.tar.gz | less
Hi, I've not managed to reproduce this in my windows environment (which uses cygwin's tar & gzip). Since the MKS system doesn't seem to be freely downloadable, could you try the following command for me, and send me the output? # from the root of the Archive-Extract tarball: $ gzip -cdf t\src\x.tar.gz | less
From: jloverso [...] mathworks.com
You won't be able to reproduce this using cygwin, because that works correctly. msys also works correct as well. Perhaps I should have given this report a subject of "don't use broken gzip.exe and tar.exe programs on Win32", because it's only due to those not working correctly that a problem developed in your tests. These both work correctly when used independently, but have this odd failure when one is piped to the other. Here is what happens in various cases: D:\Archive-Extract> d:\cygwin\bin\gzip.exe -cdf t\src\x.tar.gz | tar vtf - -rwSr-Sr-- kane/staff 0 2004-06-05 05:45 a D:\Archive-Extract> d:\msys\bin\gzip.exe -cdf t\src\x.tar.gz | tar.exe vtf - -rwSr-Sr-- kane/staff 0 2004-06-05 05:45 a D:\Archive-Extract> d:\mksnt\gzip.exe -cdf t\src\x.tar.gz | d:\msys\bin\tar -vtf - -rw-r--r-- kane/staff 0 2004-06-05 05:45:09 a D:\Archive-Extract> d:\mksnt\gzip.exe -cdf t\src\x.tar.gz | d:\cygwin\bin\tar.exe vtf - -rw-r--r-- kane/staff 0 2004-06-05 05:45:09 a D:\Archive-Extract> d:\mksnt\gzip.exe -cdf t\src\x.tar.gz | d:\msys\bin\tar.exe vtf - -rw-r--r-- kane/staff 0 2004-06-05 05:45:09 a D:\Archive-Extract> d:\mksnt\gzip.exe -cdf t\src\x.tar.gz | tar.exe vtf - -rwSr-Sr-- kane/staff 0 2004-06-05 05:45 a gzip: output file "[standard output]": The pipe is being closed. That erroneous output only comes when these two are piped to each other. Interestingly enough, if you redirect 'gzip's input, it works correctly: D:\Archive-Extract> d:\mksnt\gzip.exe -cdf < t\src\x.tar.gz | tar.exe vtf - -rwSr-Sr-- kane/staff 0 2004-06-05 05:45 a I don't propose if/how you fix this. Perhaps you should have a test just to make sure the tar.exe and gzip.exe work together!