Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

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

Report information
The Basics
Id:
96951
Status:
resolved
Priority:
Low/Low
Queue:

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

BugTracker
Severity:
(no value)
Broken in:
  • 0.41
  • 0.42
  • 0.43
Fixed in:
(no value)



Subject: fail2.t , runtests_die.t ,runtests_return.t # all fail tests on 5.18.2

https://gist.github.com/kentfredric/900fee31a2d8df76384b

I'm not sure why this is triggering, I've just hit it checking things for downstream and I can't see any obvious dependency interaction causing problems.

Its very rare, but I seem to get it every time so it must be something about ENV.

Other similar failing reports for analysis:

0.42 freebsd on 5.12 : http://www.cpantesters.org/cpan/report/78419994-f1eb-11e3-bec8-7f69e0bfc7aa
0.41 cygwin on 5.19: http://www.cpantesters.org/cpan/report/39da3213-6c07-1014-8c92-2542530ee552
 

Though it may be informative to know that I am running the tests in a non-perl toolchain environment, and it DOES special things with IO redirection to STDOUT/STDERR ( logging and multiplexing output of several processes ) in C/C++ , such that any hard-coded assumptions about numbers file descriptors use might be false, which might be a contributing factor.
 

Subject: err.txt
t/00-load.t .................... 1/1 # Testing Test::Class::Load 0.43, Perl 5.018002, /usr/bin/perl5.18.2 t/00-load.t .................... ok t/20-load-classes.t ............ ok t/21-load-subclassed.t ......... ok t/Tests.t ...................... ok t/_new.t ....................... ok t/bad-autoloads.t .............. skipped: need Contextual::Return t/bailout.t .................... ok t/builder.t .................... ok t/compile.t .................... ok t/current_method.t ............. ok t/diag_on_failure.t ............ ok t/die-in-setup.t ............... ok t/die_before_plan.t ............ ok t/expected_tests.t ............. ok t/fail1.t ...................... ok t/fail2.t ...................... 1/2 # Failed test 'fail2' # at t/fail2.t line 38. # STDOUT is: # not ok 1 - undef isa 'Object' # not ok 2 - cannot create Objects # # not: # (?^:not ok 1 - (?:The thing|undef) isa '?Object'?\n) # not ok 2 - cannot create Objects # # as expected # STDERR is: # # Failed test 'undef isa 'Object'' # # at t/fail2.t line 18. # # (in Object::Test->_test_new) # # undef isn't defined # # Failed test 'cannot create Objects' # # at t/fail2.t line 18. # # (in Object::Test->_test_new) # # not: # /#\s+Failed\ test.*?\n?.*?at\ t\/fail2\.t line 18.*\n?/ # # (in Object::Test->_test_new) # (?^:#\s+(?:The thing|undef) isn't defined\n) # /#\s+Failed\ test.*?\n?.*?at\ t\/fail2\.t line 18.*\n?/ # # (in Object::Test->_test_new) # # as expected t/fail2.t ...................... Failed 1/2 subtests t/fail3.t ...................... ok t/filter.t ..................... ok t/filter_bad_filter.t .......... ok t/filter_fixtures.t ............ ok t/filter_fixtures_only.t ....... ok t/filter_multiple.t ............ ok t/header.t ..................... ok t/late_header.t ................ ok t/methodinfo.t ................. ok t/named_test.t ................. ok t/num_method_tests.t ........... ok t/num_tests.t .................. ok t/override.t ................... ok t/rt15870.t .................... ok t/rt17264.t .................... ok t/run_all_tests.t .............. ok t/runtests.t ................... ok t/runtests_die.t ............... 1/1 # Failed test 'early die handled' # at t/runtests_die.t line 34. # STDOUT is: # not ok 1 - undef isa 'Object' # not ok 2 - test_object died (could not create object) # # not: # (?^:not ok 1 - (?:The thing|undef) isa '?Object'?\n) # not ok 2 - test_object died (could not create object) # # as expected # STDERR is: # # Failed test 'undef isa 'Object'' # # at t/runtests_die.t line 15. # # (in Foo->test_object) # # undef isn't defined # # Failed test 'test_object died (could not create object)' # # at t/runtests_die.t line 33. # # (in Foo->test_object) # # not: # /#\s+Failed\ test.*?\n?.*?at\ t\/runtests_die\.t line 15.*\n?/ # # (in Foo->test_object) # (?^:# (?:The thing|undef) isn't defined\n) # /#\s+Failed\ test.*?\n?.*?at\ t\/runtests_die\.t line 33.*\n?/ # # (in Foo->test_object) # # as expected t/runtests_die.t ............... Failed 1/1 subtests t/runtests_die_empty.t ......... ok t/runtests_die_nearlyempty.t ... ok t/runtests_extra.t ............. ok t/runtests_noplan.t ............ ok t/runtests_of.t ................ ok t/runtests_result.t ............ ok t/runtests_return.t ............ 1/2 # Failed test 'early return handled (fail)' # at t/runtests_return.t line 42. # STDERR is: # # Failed test '(Bar::darwin_only returned before plan complete)' # # at /tmp/portage/dev-perl-Test-Class-0.430.0/work/Test-Class-0.43/blib/lib/Test/Class.pm line 392. # # (in Bar->darwin_only) # # Failed test '(Bar::darwin_only returned before plan complete)' # # at /tmp/portage/dev-perl-Test-Class-0.430.0/work/Test-Class-0.43/blib/lib/Test/Class.pm line 392. # # (in Bar->darwin_only) # # not: # (?^s:.*in Bar->darwin_only.*) # # as expected t/runtests_return.t ............ Failed 1/2 subtests t/runtests_trailing.t .......... ok t/runtests_with_wrong_class.t .. ok t/show_plan_in_shutdown.t ...... ok t/skip1.t ...................... ok t/skip2.t ...................... ok t/skip_class_reason.t .......... ok t/skip_empty_classes.t ......... 1/5 # # Bar::Test->the_test t/skip_empty_classes.t ......... ok t/spaces.t ..................... ok t/startup.t .................... ok t/startup_that_dies.t .......... ok t/test_classes.t ............... ok t/test_deep.t .................. ok t/test_method.t ................ ok t/test_verbose.t ............... ok t/todo.t ....................... # Test::More: 0.9805 t/todo.t ....................... ok Test Summary Report ------------------- t/fail2.t (Wstat: 0 Tests: 2 Failed: 1) Failed test: 1 t/runtests_die.t (Wstat: 0 Tests: 1 Failed: 1) Failed test: 1 t/runtests_return.t (Wstat: 0 Tests: 2 Failed: 1) Failed test: 2 Files=56, Tests=186, 5 wallclock secs ( 0.27 usr 0.09 sys + 4.30 cusr 0.56 csys = 5.22 CPU) Result: FAIL Failed 3/56 test programs. 3/186 subtests failed.

K. My theories about it  being installchain related seem unfounded. Having the same problem on the same box with cpanm now.
 

Buh.

Looks like a newer Test::Simple is required.

 

Checking if you have Test::More 0.78 ... Yes (0.98_05)

Forcing an update of Test::Simple to latest == problem solved.


And joyfully, it looks that only *two* development releases were a problem:

0.98_05 and 0.98_06 ,

0.98_04 doesn't suffer the problem
0.99 forces a self update due to outdated test builder
0.99_01 doesn't have the problem.

And I happen to have 0.98_05 installed for some dumb reason.

 


 

Subject: fail2.t , runtests_die.t ,runtests_return.t # all fail tests on Test::More <= 0.99
Yup, tests fail with Test::More 0.99 and pass with Test::More 1.001002. Released 0.45 with a prereq bump. Nice find, and thanks!


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.