Beefy Boxes and Bandwidth Generously Provided by pair Networks RobOMonk
go ahead... be a heretic
 
PerlMonks  

Re^3: Test fails: 01_Archive-Extract.t and TGZ files

by bingos (Vicar)
on Feb 15, 2012 at 21:20 UTC ( #954077=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Test fails: 01_Archive-Extract.t and TGZ files
in thread Test fails: 01_Archive-Extract.t and TGZ files

The only way I can make the tests fail in this manner are to attempt to run the tests when the current working directory is not the directory of the extracted tarball.

$ pwd /home/chris [canker:]$ perl foo.pl [20:33:46] /home/chris/repos/toolchain/Archive-Extract/t/01_Archive-Ex +tract.t .. ok 1 - use Archive::Extract; ok 2 - Archive::Extract->can('types') ok 3 - Got a list of types # 01_Archive-Extract.t Key 'archive' (01_Archive-Extract.t) is of invalid type for 'Archive:: +Extract::new' provided by ANON at /home/chris/repos/toolchain/Archive +-Extract/t/01_Archive-Extract.t line 264 not ok 4 - Object created based on 'tgz' # Failed test ' Object created based on 'tgz'' # at /home/chris/repos/toolchain/Archive-Extract/t/01_Archive-Extrac +t.t line 265. Can't call method "error" on an undefined value at /home/chris/repos/t +oolchain/Archive-Extract/t/01_Archive-Extract.t line 266. 1..4 # Looks like you failed 1 test of 4. # Looks like your test exited with 2 just after 4. Dubious, test returned 2 (wstat 512, 0x200) Failed 1/4 subtests [20:33:47] Test Summary Report ------------------- /home/chris/repos/toolchain/Archive-Extract/t/01_Archive-Extract.t (Ws +tat: 512 Tests: 4 Failed: 1) Failed test: 4 Non-zero exit status: 2 Files=1, Tests=4, 1 wallclock secs ( 0.12 usr 0.03 sys + 0.83 cusr + 0.09 csys = 1.07 CPU) Result: FAIL [canker:]$ cd /home/chris/repos/toolchain/Archive-Extract/ [canker:(master)]$ perl /home/chris/foo.pl [20:35:43] /home/chris/repos/toolchain/Archive-Extract/t/01_Archive-Ex +tract.t .. ok 1 - use Archive::Extract; ok 2 - Archive::Extract->can('types') ok 3 - Got a list of types # 01_Archive-Extract.t 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 - Object created based on 'lzma' ok 19 - No error logged ok 20 - Object created based on 'xz' ok 21 - No error logged ok 22 - Object created based on 'txz' ok 23 - No error logged ok 24 - No archive created based on '01_Archive-Extract.t' ok 25 - Error not captured in class method ok 26 - Error captured as warning ok 27 - Error is: unknown file type ok 28 - Archive created ok 29 - No errors yet ok 30 - Errors retrieved ##### etc etc Ad nauseam until ok 1706 - Archive type is_txz recognized properly ok 1707 # skip No binaries or modules to extract x.tar.xz ok 1708 # skip No binaries or modules to extract x.tar.xz ok 1709 # skip No binaries or modules to extract x.tar.xz ok 1710 # skip No binaries or modules to extract x.tar.xz ok 1711 # skip No binaries or modules to extract x.tar.xz ok 1712 # skip No binaries or modules to extract x.tar.xz ok 1713 # skip No binaries or modules to extract x.tar.xz ok 1714 # skip No binaries or modules to extract x.tar.xz ok 1715 # skip No binaries or modules to extract x.tar.xz ok 1716 # skip No binaries or modules to extract x.tar.xz 1..1716 ok 9201 ms [20:35:44] All tests successful. Files=1, Tests=1716, 10 wallclock secs ( 1.21 usr 0.05 sys + 5.56 cu +sr 3.58 csys = 10.40 CPU) Result: PASS

foo.pl is just a path amended version of Khen1950fx's script.

That said, this is different to your original output which appeared to be from being in the perl source tree. Okay, let's have a go at breaking that.

bingos@harlequin:~/repos/perl.git$ cd t/ bingos@harlequin:~/repos/perl.git/t$ ./perl harness ../cpan/Archive-Ex +tract/t/01_Archive-Extract.t ../cpan/Archive-Extract/t/01_Archive-Extract.t .. ok All tests successful. Files=1, Tests=1704, 5 wallclock secs ( 0.64 usr 0.02 sys + 2.64 cu +sr 0.64 csys = 3.94 CPU) Result: PASS

I don't know then. The tests in your output appear to be failing before they reach the 'archive' tests, namely because they aren't being run from the correct current working directory.


Comment on Re^3: Test fails: 01_Archive-Extract.t and TGZ files
Select or Download Code
Re^4: Test fails: 01_Archive-Extract.t and TGZ files
by compused (Acolyte) on Feb 16, 2012 at 12:08 UTC

    thanx...via cpan I installed the latest (0.58) Archive::Extract but 'make test' gives 154 failures and says it will only install with force; using the foo.pl file also gives 154 errors. Here it is (& is it ok/how do you do the forced install?:

    (for all of it go to: http://paste2.org/p/1905968 )

    cpan[2]> install Archive::Extract etc etc etc Writing Makefile for Archive::Extract Writing MYMETA.yml cp lib/Archive/Extract.pm blib/lib/Archive/Extract.pm BINGOS/Archive-Extract-0.58.tar.gz /share/MD0_DATA/.qpkg/Optware/bin/make -- OK Running make test PERL_DL_NONLAZY=1 /share/MD0_DATA/.qpkg/Optware/bin/perl "-MExtUtils:: +Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01_Archive-Extract.t .. 24/? # Failed test 'extract() for 'double_dir.zip' reports success (PP: 0 + Bin: 1)' # at t/01_Archive-Extract.t line 478. # Failed test 'Found correct number of output files ()' # at t/01_Archive-Extract.t line 491. # got: '0' # expected: '2' # Failed test 'Found correct output file 'x/w'' # at t/01_Archive-Extract.t line 498. # got: undef # expected: 'x/w' # Failed test 'Output file '/share/MD0_DATA/.cpan/build_dir/Archive- +Extract-0.58-rulOTV/t/out/x/w' exists' # at t/01_Archive-Extract.t line 501. # Failed test 'Extract dir found' # at t/01_Archive-Extract.t line 503. Use of uninitialized value in -d at t/01_Archive-Extract.t line 505. # Failed test 'Extract dir exists' # at t/01_Archive-Extract.t line 505. # Failed test 'Extract dir is expected '/share/MD0_DATA/.cpan/build_ +dir/Archive-Extract-0.58-rulOTV/t/out/x'' # at t/01_Archive-Extract.t line 507. # got: undef etc etc t/01_Archive-Extract.t .. 1479/? # Looks like you failed 154 tests of +1584. t/01_Archive-Extract.t .. Dubious, test returned 154 (wstat 39424, 0x9 +a00) Failed 154/1584 subtests (less 538 skipped subtests: 892 okay) Test Summary Report ------------------- t/01_Archive-Extract.t (Wstat: 39424 Tests: 1584 Failed: 154) Failed tests: 87, 89-94, 98, 100-105, 111, 113-118, 122 124-129, 231, 233-238, 242, 244-249, 435 437-442, 446, 448-453, 507, 509-514, 518 520-525, 555, 557-562, 566, 568-573, 651 653-658, 662, 664-669, 711, 713-718, 722 724-729, 783, 785-790, 794, 796-801, 807 809-814, 818, 820-825, 831, 833-838, 842 844-849 Non-zero exit status: 154 Files=1, Tests=1584, 13 wallclock secs ( 1.46 usr 0.02 sys + 8.34 cu +sr 2.33 csys = 12.15 CPU) Result: FAIL # expected: '/share/MD0_DATA/.cpan/build_dir/Archive-Extract-0.58- +rulOTV/t/out/x'

      A forced install would be with force install instead of just install

      But before you do that, it does look like all the tests involving binary extractor programs failed for some reason.

      I surmise that you are using some sort of QNAP NAS device with the Optware packages installed and it's packaged perl

      What would be a big favour is to run the following in the Archive-Extract directory and post the output, please:

      perl -Ilib -MArchive::Extract -e 'print "$_\n" for map { join " ", $_, + Archive::Extract->$_ } qw(bin_gzip bin_unzip bin_tar bin_bunzip2 bin +_uncompress bin_unlzma bin_unxz);'

        Thanks again; output shows:

        [/share/MD0_DATA/.cpan/build_dir/Archive-Extract-0.58-SYDw3d] # < "$_\n" for map { join " ", $_, Archive::Extract->$_ } qw(bin_gzip bi +n_unzip bin_tar bin_bunzip2 bin_uncompress bin_unlzma bin_unxz);' bin_gzip /opt/bin/gzip bin_unzip /usr/bin/unzip bin_tar /opt/bin/tar bin_bunzip2 /usr/bin/bunzip2 bin_uncompress /opt/bin/uncompress bin_unlzma bin_unxz

        I notice there are two missing; I had previously downloaded the latest binaries thinking that might help:

        # /opt/bin/uncompress --version gunzip (gzip) 1.4 /opt/bin/gzip --version gzip 1.4 # /opt/bin/tar --version tar (GNU tar) 1.26 # /usr/bin/bunzip2 --version bzip2, a block-sorting file compressor. Version 1.0.6, 6-Sept-2010. # /usr/bin/unzip --version /usr/bin/unzip: invalid option -- - BusyBox v1.10.3 (2010-05-17 05:57:25 UTC) multi-call binary

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://954077]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2014-04-21 04:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (490 votes), past polls