Skip Menu |

This queue is for tickets about the Test-Harness CPAN distribution.

Report information
The Basics
Id: 75375
Status: open
Priority: 0/
Queue: Test-Harness

People
Owner: Nobody in particular
Requestors: aar [...] cpan.org
w.phillip.moore [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in:
  • 3.23
  • 3.25
Fixed in: (no value)



Subject: t/compat/test-harness-compat.t universal test failures
Test-Harness-3.23 fails the same pair of tests on all platforms/perls I have tried. This includes: RHEL 5, Solaris 10, AIX 6 (32 and 64 bit) Perl 5.10.1, 5.12.4, and 5.14.2 The output below is from one of these builds, but the failure is identical, regardless of the platform or perl version. [2012-02-28 14:37:14] t/compat/switches.t ............. ok [2012-02-28 14:37:14] [2012-02-28 14:37:14] # Failed test 'totals match for switches' [2012-02-28 14:37:14] # at t/compat/test-harness-compat.t line 844. [2012-02-28 14:37:14] # Structures begin differing at: [2012-02-28 14:37:14] # $got->{ok} = '1' [2012-02-28 14:37:14] # $expected->{ok} = '0' [2012-02-28 14:37:14] [2012-02-28 14:37:14] # Failed test 'failure summary matches for switches' [2012-02-28 14:37:14] # at t/compat/test-harness-compat.t line 845. [2012-02-28 14:37:14] # Structures begin differing at: [2012-02-28 14:37:14] # $got->{t/sample-tests/switches} = Does not exist [2012-02-28 14:37:14] # $expected->{t/sample-tests/switches} = HASH(0x17a8c1e0) [2012-02-28 14:37:14] # Looks like you failed 2 tests of 120. [2012-02-28 14:37:14] t/compat/test-harness-compat.t .. [2012-02-28 14:37:14] Dubious, test returned 2 (wstat 512, 0x200) [2012-02-28 14:37:14] Failed 2/120 subtests [2012-02-28 14:37:14] Test Summary Report [2012-02-28 14:37:14] ------------------- [2012-02-28 14:37:14] t/compat/test-harness-compat.t (Wstat: 512 Tests: 120 Failed: 2) [2012-02-28 14:37:14] Failed tests: 94-95 [2012-02-28 14:37:14] Non-zero exit status: 2 [2012-02-28 14:37:14] Files=57, Tests=11745, 32 wallclock secs ( 2.30 usr 0.45 sys + 11.81 cusr 5.28 csys = 19.84 CP\ U) [2012-02-28 14:37:14] Result: FAIL [2012-02-28 14:37:14] Failed 1/57 test programs. 2/11745 subtests failed.
I've updated the ticket metadata, as I this problem still persists in 3.25
Subject: t/compat/test-harness-compat.t fails on Windows
Let me know if you need anything else: Show quoted text
>cpanm -v Test::Harness
cpanm (App::cpanminus) 1.7001 on perl 5.014002 built for MSWin32-x64-multi-threa d Work directory is C:\Users\ALESSA~1/.cpanm/work/1384088945.2848 You have make C:\dev\CitrusPerl\mingw64\bin\dmake.exe You have LWP 6.04 Falling back to Archive::Tar 1.76 Searching Test::Harness on cpanmetadb ... --> Working on Test::Harness Fetching http://www.cpan.org/authors/id/O/OV/OVID/Test-Harness-3.29.tar.gz ... O K Unpacking Test-Harness-3.29.tar.gz Entering Test-Harness-3.29 Checking configure dependencies from META.json Running Makefile.PL Configuring Test-Harness-3.29 ... Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for Test::Harness Writing MYMETA.yml and MYMETA.json OK Checking dependencies from MYMETA.json ... Checking if you have parent 0 ... Yes (0.225) Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.82) Building and testing Test-Harness-3.29 ... dmake.exe: makefile: line 590: War ning: -- Macro `BOOTSTRAP' redefined after use cp lib/App/Prove/State/Result.pm blib\lib\App\Prove\State\Result.pm cp lib/TAP/Base.pm blib\lib\TAP\Base.pm cp lib/TAP/Formatter/Console/ParallelSession.pm blib\lib\TAP\Formatter\Console\P arallelSession.pm cp lib/TAP/Formatter/Console/Session.pm blib\lib\TAP\Formatter\Console\Session.p m cp lib/TAP/Parser.pm blib\lib\TAP\Parser.pm cp lib/App/Prove/State/Result/Test.pm blib\lib\App\Prove\State\Result\Test.pm cp lib/TAP/Formatter/Console.pm blib\lib\TAP\Formatter\Console.pm cp lib/TAP/Formatter/Color.pm blib\lib\TAP\Formatter\Color.pm cp lib/TAP/Parser/Grammar.pm blib\lib\TAP\Parser\Grammar.pm cp HACKING.pod blib\lib\Test\HACKING.pod cp lib/TAP/Harness/Beyond.pod blib\lib\TAP\Harness\Beyond.pod cp lib/TAP/Formatter/Session.pm blib\lib\TAP\Formatter\Session.pm cp lib/TAP/Formatter/Base.pm blib\lib\TAP\Formatter\Base.pm cp lib/TAP/Formatter/File/Session.pm blib\lib\TAP\Formatter\File\Session.pm cp lib/App/Prove.pm blib\lib\App\Prove.pm cp lib/App/Prove/State.pm blib\lib\App\Prove\State.pm cp lib/TAP/Object.pm blib\lib\TAP\Object.pm cp lib/TAP/Harness.pm blib\lib\TAP\Harness.pm cp lib/TAP/Formatter/File.pm blib\lib\TAP\Formatter\File.pm cp lib/TAP/Harness/Env.pm blib\lib\TAP\Harness\Env.pm cp lib/TAP/Parser/Aggregator.pm blib\lib\TAP\Parser\Aggregator.pm cp lib/TAP/Parser/Result/Pragma.pm blib\lib\TAP\Parser\Result\Pragma.pm cp lib/TAP/Parser/Iterator/Array.pm blib\lib\TAP\Parser\Iterator\Array.pm cp lib/TAP/Parser/Result/Plan.pm blib\lib\TAP\Parser\Result\Plan.pm cp lib/TAP/Parser/Result.pm blib\lib\TAP\Parser\Result.pm cp lib/TAP/Parser/Scheduler/Job.pm blib\lib\TAP\Parser\Scheduler\Job.pm cp lib/TAP/Parser/Result/YAML.pm blib\lib\TAP\Parser\Result\YAML.pm cp lib/TAP/Parser/Result/Test.pm blib\lib\TAP\Parser\Result\Test.pm cp lib/TAP/Parser/IteratorFactory.pm blib\lib\TAP\Parser\IteratorFactory.pm cp lib/TAP/Parser/Result/Comment.pm blib\lib\TAP\Parser\Result\Comment.pm cp lib/TAP/Parser/Iterator.pm blib\lib\TAP\Parser\Iterator.pm cp lib/TAP/Parser/Iterator/Stream.pm blib\lib\TAP\Parser\Iterator\Stream.pm cp lib/TAP/Parser/Iterator/Process.pm blib\lib\TAP\Parser\Iterator\Process.pm cp lib/TAP/Parser/Result/Bailout.pm blib\lib\TAP\Parser\Result\Bailout.pm cp lib/TAP/Parser/ResultFactory.pm blib\lib\TAP\Parser\ResultFactory.pm cp lib/TAP/Parser/Multiplexer.pm blib\lib\TAP\Parser\Multiplexer.pm cp lib/TAP/Parser/Result/Version.pm blib\lib\TAP\Parser\Result\Version.pm cp lib/TAP/Parser/Result/Unknown.pm blib\lib\TAP\Parser\Result\Unknown.pm cp lib/TAP/Parser/Scheduler.pm blib\lib\TAP\Parser\Scheduler.pm cp lib/TAP/Parser/SourceHandler/File.pm blib\lib\TAP\Parser\SourceHandler\File.p m cp lib/TAP/Parser/SourceHandler.pm blib\lib\TAP\Parser\SourceHandler.pm cp lib/Test/Harness.pm blib\lib\Test\Harness.pm cp lib/TAP/Parser/SourceHandler/Executable.pm blib\lib\TAP\Parser\SourceHandler\ Executable.pm cp lib/TAP/Parser/SourceHandler/Perl.pm blib\lib\TAP\Parser\SourceHandler\Perl.p m cp lib/TAP/Parser/YAMLish/Writer.pm blib\lib\TAP\Parser\YAMLish\Writer.pm cp lib/TAP/Parser/SourceHandler/Handle.pm blib\lib\TAP\Parser\SourceHandler\Hand le.pm cp lib/TAP/Parser/SourceHandler/RawTAP.pm blib\lib\TAP\Parser\SourceHandler\RawT AP.pm cp lib/TAP/Parser/YAMLish/Reader.pm blib\lib\TAP\Parser\YAMLish\Reader.pm cp lib/TAP/Parser/Scheduler/Spinner.pm blib\lib\TAP\Parser\Scheduler\Spinner.pm cp lib/TAP/Parser/Source.pm blib\lib\TAP\Parser\Source.pm C:\dev\CitrusPerl\bin\perl.exe -MExtUtils::Command -e cp -- bin/prove blib\scrip t\prove pl2bat.bat blib\script\prove dmake.exe: Warning: -- Target [blib\script\prove] was made but the time stamp h as not been updated. dmake.exe: makefile: line 590: Warning: -- Macro `BOOTSTRAP' redefined after use C:\dev\CitrusPerl\bin\perl.exe -MExtUtils::Command -e cp -- bin/prove blib\scrip t\prove pl2bat.bat blib\script\prove dmake.exe: Warning: -- Target [blib\script\prove] was made but the time stamp h as not been updated. C:\dev\CitrusPerl\bin\perl.exe "-Iblib\lib" "-Iblib\arch" "-MExtUtils::Command:: MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'bli b\lib', 'blib\arch')" t/*.t t/compat/*.t t/000-load.t .................... 3/97 # Testing Test::Harness 3.29, Perl 5.0140 02, C:\dev\CitrusPerl\bin\perl.exe t/000-load.t .................... ok t/aggregator.t .................. ok t/bailout.t ..................... ok t/base.t ........................ ok t/callbacks.t ................... ok t/compat/env.t .................. ok t/compat/env_opts.t ............. ok t/compat/failure.t .............. ok t/compat/inc-propagation.t ...... ok t/compat/inc_taint.t ............ ok t/compat/nonumbers.t ............ ok t/compat/regression.t ........... ok t/compat/subclass.t ............. ok t/compat/switches.t ............. ok t/compat/test-harness-compat.t .. 89/120 # Failed test 'totals match for switches' # at t/compat/test-harness-compat.t line 845. # Structures begin differing at: # $got->{ok} = '1' # $expected->{ok} = '0' # Failed test 'failure summary matches for switches' # at t/compat/test-harness-compat.t line 846. # Structures begin differing at: # $got->{t\sample-tests\switches} = Does not exist # $expected->{t\sample-tests\switches} = HASH(0x2acc590) # Looks like you failed 2 tests of 120. t/compat/test-harness-compat.t .. Dubious, test returned 2 (wstat 512, 0x200) Failed 2/120 subtests t/compat/version.t .............. ok t/console.t ..................... ok t/errors.t ...................... ok t/file.t ........................ ok t/glob-to-regexp.t .............. ok t/grammar.t ..................... ok t/harness-bailout.t ............. ok t/harness-subclass.t ............ ok t/harness.t ..................... ok t/iterator_factory.t ............ ok t/iterators.t ................... ok t/multiplexer.t ................. ok t/nested.t ...................... ok t/nofork-mux.t .................. ok t/nofork.t ...................... skipped: your system already has no fork t/object.t ...................... ok t/parse.t ....................... ok t/parser-config.t ............... ok t/parser-subclass.t ............. ok t/perl5lib.t .................... ok t/premature-bailout.t ........... ok t/process.t ..................... ok t/prove.t ....................... ok t/proveenv.t .................... ok t/proverc.t ..................... ok t/proverun.t .................... ok t/proveversion.t ................ ok t/regression.t .................. ok t/results.t ..................... ok t/scheduler.t ................... ok t/source.t ...................... ok t/source_handler.t .............. ok t/spool.t ....................... ok t/state.t ....................... ok t/state_results.t ............... ok t/streams.t ..................... ok t/taint.t ....................... ok t/testargs.t .................... ok t/unicode.t ..................... ok t/yamlish-output.t .............. ok t/yamlish-writer.t .............. ok t/yamlish.t ..................... ok Test Summary Report ------------------- t/compat/test-harness-compat.t (Wstat: 512 Tests: 120 Failed: 2) Failed tests: 94-95 Non-zero exit status: 2 Files=57, Tests=11630, 56 wallclock secs ( 3.73 usr + 0.27 sys = 3.99 CPU) Result: FAIL Failed 1/57 test programs. 2/11630 subtests failed. dmake.exe: Error code 255, while making 'test_dynamic' FAIL ! Installing Test::Harness failed. See C:\Users\ALESSA~1\.cpanm\work\1384088945. 2848\build.log for details. Retry with --force to force install it.
Subject: t/compat/test-harness-compat.t fails on Windows
On Sun Nov 10 08:20:50 2013, AAR wrote: Show quoted text
> Let me know if you need anything else: >
> > cpanm -v Test::Harness
> cpanm (App::cpanminus) 1.7001 on perl 5.014002 built for MSWin32-x64- > multi-threa > d > Work directory is C:\Users\ALESSA~1/.cpanm/work/1384088945.2848 > You have make C:\dev\CitrusPerl\mingw64\bin\dmake.exe > You have LWP 6.04 > Falling back to Archive::Tar 1.76 > Searching Test::Harness on cpanmetadb ... > --> Working on Test::Harness > Fetching http://www.cpan.org/authors/id/O/OV/OVID/Test-Harness- > 3.29.tar.gz ... O > K > Unpacking Test-Harness-3.29.tar.gz > Entering Test-Harness-3.29 > Checking configure dependencies from META.json > Running Makefile.PL > Configuring Test-Harness-3.29 ... Checking if your kit is complete... > Looks good > Generating a dmake-style Makefile > Writing Makefile for Test::Harness > Writing MYMETA.yml and MYMETA.json > OK > Checking dependencies from MYMETA.json ... > Checking if you have parent 0 ... Yes (0.225) > Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.82) > Building and testing Test-Harness-3.29 ... dmake.exe: makefile: line > 590: War > ning: -- Macro `BOOTSTRAP' redefined after use > cp lib/App/Prove/State/Result.pm blib\lib\App\Prove\State\Result.pm > cp lib/TAP/Base.pm blib\lib\TAP\Base.pm > cp lib/TAP/Formatter/Console/ParallelSession.pm > blib\lib\TAP\Formatter\Console\P > arallelSession.pm > cp lib/TAP/Formatter/Console/Session.pm > blib\lib\TAP\Formatter\Console\Session.p > m > cp lib/TAP/Parser.pm blib\lib\TAP\Parser.pm > cp lib/App/Prove/State/Result/Test.pm > blib\lib\App\Prove\State\Result\Test.pm > cp lib/TAP/Formatter/Console.pm blib\lib\TAP\Formatter\Console.pm > cp lib/TAP/Formatter/Color.pm blib\lib\TAP\Formatter\Color.pm > cp lib/TAP/Parser/Grammar.pm blib\lib\TAP\Parser\Grammar.pm > cp HACKING.pod blib\lib\Test\HACKING.pod > cp lib/TAP/Harness/Beyond.pod blib\lib\TAP\Harness\Beyond.pod > cp lib/TAP/Formatter/Session.pm blib\lib\TAP\Formatter\Session.pm > cp lib/TAP/Formatter/Base.pm blib\lib\TAP\Formatter\Base.pm > cp lib/TAP/Formatter/File/Session.pm > blib\lib\TAP\Formatter\File\Session.pm > cp lib/App/Prove.pm blib\lib\App\Prove.pm > cp lib/App/Prove/State.pm blib\lib\App\Prove\State.pm > cp lib/TAP/Object.pm blib\lib\TAP\Object.pm > cp lib/TAP/Harness.pm blib\lib\TAP\Harness.pm > cp lib/TAP/Formatter/File.pm blib\lib\TAP\Formatter\File.pm > cp lib/TAP/Harness/Env.pm blib\lib\TAP\Harness\Env.pm > cp lib/TAP/Parser/Aggregator.pm blib\lib\TAP\Parser\Aggregator.pm > cp lib/TAP/Parser/Result/Pragma.pm > blib\lib\TAP\Parser\Result\Pragma.pm > cp lib/TAP/Parser/Iterator/Array.pm > blib\lib\TAP\Parser\Iterator\Array.pm > cp lib/TAP/Parser/Result/Plan.pm blib\lib\TAP\Parser\Result\Plan.pm > cp lib/TAP/Parser/Result.pm blib\lib\TAP\Parser\Result.pm > cp lib/TAP/Parser/Scheduler/Job.pm > blib\lib\TAP\Parser\Scheduler\Job.pm > cp lib/TAP/Parser/Result/YAML.pm blib\lib\TAP\Parser\Result\YAML.pm > cp lib/TAP/Parser/Result/Test.pm blib\lib\TAP\Parser\Result\Test.pm > cp lib/TAP/Parser/IteratorFactory.pm > blib\lib\TAP\Parser\IteratorFactory.pm > cp lib/TAP/Parser/Result/Comment.pm > blib\lib\TAP\Parser\Result\Comment.pm > cp lib/TAP/Parser/Iterator.pm blib\lib\TAP\Parser\Iterator.pm > cp lib/TAP/Parser/Iterator/Stream.pm > blib\lib\TAP\Parser\Iterator\Stream.pm > cp lib/TAP/Parser/Iterator/Process.pm > blib\lib\TAP\Parser\Iterator\Process.pm > cp lib/TAP/Parser/Result/Bailout.pm > blib\lib\TAP\Parser\Result\Bailout.pm > cp lib/TAP/Parser/ResultFactory.pm > blib\lib\TAP\Parser\ResultFactory.pm > cp lib/TAP/Parser/Multiplexer.pm blib\lib\TAP\Parser\Multiplexer.pm > cp lib/TAP/Parser/Result/Version.pm > blib\lib\TAP\Parser\Result\Version.pm > cp lib/TAP/Parser/Result/Unknown.pm > blib\lib\TAP\Parser\Result\Unknown.pm > cp lib/TAP/Parser/Scheduler.pm blib\lib\TAP\Parser\Scheduler.pm > cp lib/TAP/Parser/SourceHandler/File.pm > blib\lib\TAP\Parser\SourceHandler\File.p > m > cp lib/TAP/Parser/SourceHandler.pm > blib\lib\TAP\Parser\SourceHandler.pm > cp lib/Test/Harness.pm blib\lib\Test\Harness.pm > cp lib/TAP/Parser/SourceHandler/Executable.pm > blib\lib\TAP\Parser\SourceHandler\ > Executable.pm > cp lib/TAP/Parser/SourceHandler/Perl.pm > blib\lib\TAP\Parser\SourceHandler\Perl.p > m > cp lib/TAP/Parser/YAMLish/Writer.pm > blib\lib\TAP\Parser\YAMLish\Writer.pm > cp lib/TAP/Parser/SourceHandler/Handle.pm > blib\lib\TAP\Parser\SourceHandler\Hand > le.pm > cp lib/TAP/Parser/SourceHandler/RawTAP.pm > blib\lib\TAP\Parser\SourceHandler\RawT > AP.pm > cp lib/TAP/Parser/YAMLish/Reader.pm > blib\lib\TAP\Parser\YAMLish\Reader.pm > cp lib/TAP/Parser/Scheduler/Spinner.pm > blib\lib\TAP\Parser\Scheduler\Spinner.pm > cp lib/TAP/Parser/Source.pm blib\lib\TAP\Parser\Source.pm > C:\dev\CitrusPerl\bin\perl.exe -MExtUtils::Command -e cp -- bin/prove > blib\scrip > t\prove > pl2bat.bat blib\script\prove > dmake.exe: Warning: -- Target [blib\script\prove] was made but the > time stamp h > as not been updated. > dmake.exe: makefile: line 590: Warning: -- Macro `BOOTSTRAP' > redefined after > use > C:\dev\CitrusPerl\bin\perl.exe -MExtUtils::Command -e cp -- bin/prove > blib\scrip > t\prove > pl2bat.bat blib\script\prove > dmake.exe: Warning: -- Target [blib\script\prove] was made but the > time stamp h > as not been updated. > C:\dev\CitrusPerl\bin\perl.exe "-Iblib\lib" "-Iblib\arch" "- > MExtUtils::Command:: > MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; > test_harness(0, 'bli > b\lib', 'blib\arch')" t/*.t t/compat/*.t > t/000-load.t .................... 3/97 # Testing Test::Harness 3.29, > Perl 5.0140 > 02, C:\dev\CitrusPerl\bin\perl.exe > t/000-load.t .................... ok > t/aggregator.t .................. ok > t/bailout.t ..................... ok > t/base.t ........................ ok > t/callbacks.t ................... ok > t/compat/env.t .................. ok > t/compat/env_opts.t ............. ok > t/compat/failure.t .............. ok > t/compat/inc-propagation.t ...... ok > t/compat/inc_taint.t ............ ok > t/compat/nonumbers.t ............ ok > t/compat/regression.t ........... ok > t/compat/subclass.t ............. ok > t/compat/switches.t ............. ok > t/compat/test-harness-compat.t .. 89/120 > # Failed test 'totals match for switches' > # at t/compat/test-harness-compat.t line 845. > # Structures begin differing at: > # $got->{ok} = '1' > # $expected->{ok} = '0' > > # Failed test 'failure summary matches for switches' > # at t/compat/test-harness-compat.t line 846. > # Structures begin differing at: > # $got->{t\sample-tests\switches} = Does not exist > # $expected->{t\sample-tests\switches} = HASH(0x2acc590) > # Looks like you failed 2 tests of 120. > t/compat/test-harness-compat.t .. Dubious, test returned 2 (wstat 512, > 0x200) > Failed 2/120 subtests > t/compat/version.t .............. ok > t/console.t ..................... ok > t/errors.t ...................... ok > t/file.t ........................ ok > t/glob-to-regexp.t .............. ok > t/grammar.t ..................... ok > t/harness-bailout.t ............. ok > t/harness-subclass.t ............ ok > t/harness.t ..................... ok > t/iterator_factory.t ............ ok > t/iterators.t ................... ok > t/multiplexer.t ................. ok > t/nested.t ...................... ok > t/nofork-mux.t .................. ok > t/nofork.t ...................... skipped: your system already has no > fork > t/object.t ...................... ok > t/parse.t ....................... ok > t/parser-config.t ............... ok > t/parser-subclass.t ............. ok > t/perl5lib.t .................... ok > t/premature-bailout.t ........... ok > t/process.t ..................... ok > t/prove.t ....................... ok > t/proveenv.t .................... ok > t/proverc.t ..................... ok > t/proverun.t .................... ok > t/proveversion.t ................ ok > t/regression.t .................. ok > t/results.t ..................... ok > t/scheduler.t ................... ok > t/source.t ...................... ok > t/source_handler.t .............. ok > t/spool.t ....................... ok > t/state.t ....................... ok > t/state_results.t ............... ok > t/streams.t ..................... ok > t/taint.t ....................... ok > t/testargs.t .................... ok > t/unicode.t ..................... ok > t/yamlish-output.t .............. ok > t/yamlish-writer.t .............. ok > t/yamlish.t ..................... ok > > Test Summary Report > ------------------- > t/compat/test-harness-compat.t (Wstat: 512 Tests: 120 Failed: 2) > Failed tests: 94-95 > Non-zero exit status: 2 > Files=57, Tests=11630, 56 wallclock secs ( 3.73 usr + 0.27 sys = > 3.99 CPU) > Result: FAIL > Failed 1/57 test programs. 2/11630 subtests failed. > dmake.exe: Error code 255, while making 'test_dynamic' > FAIL > ! Installing Test::Harness failed. See > C:\Users\ALESSA~1\.cpanm\work\1384088945. > 2848\build.log for details. Retry with --force to force install it.
This is a duplicate of #75375. Quite frankly I think that test is both fragile and useless, I suspect just getting rid of it may be the best order of operation. Leon