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:
89659
Status:
resolved
Priority:
Low/Low
Queue:

People
Owner:
Nobody in particular
Requestors:
david [...] davidfavor.com
Cc:
AdminCc:

BugTracker
Severity:
(no value)
Broken in:
(no value)
Fixed in:
(no value)



Subject: Test::Class-0.39 broken in perl-5.18.1 + perl-5.19.5
Date: Mon, 21 Oct 2013 12:02:49 -0500
To: bug-Test-Class@rt.cpan.org
From: David Favor <david@davidfavor.com>
These errors may be occurring because Test::Simple changed the way regular expressions are processed. Same errors reported in each version of perl... net1# PERL_DL_NONLAZY=1 /runtime/perl-5.18.1/bin/perl5.18.1 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/00-load.t .................... 1..1 ok 1 - use Test::Class::Load; # Testing Test::Class::Load 0.35, Perl 5.018001, /runtime/perl-5.18.1/bin/perl5.18.1 ok t/20-load-classes.t ............ 1..14 ok 1 - Classes in top level directories should be loaded ok 2 - ... as should tests in subdirectories ok 3 - ... and the methods should work correctly ok 4 - ... even if they are called from subclasses ok 5 - ... or they have their own methods ok 6 - Trying to load multiple lib paths should succeed ok 7 - Top level directories should be loaded even with multiple libs ok 8 - ... as should tests in subdirectories ok 9 - ... and the methods should work correctly ok 10 - ... even if they are called from subclasses ok 11 - ... or they have their own methods ok 12 - And secondary libs should be loaded ok 13 - ... and their methods should also work correctly ok 14 - Trying to load a bad module fails ok t/21-load-subclassed.t ......... 1..7 ok 1 - Classes in top level directories should be loaded ok 2 - ... as should classes in subdirectories ok 3 - Filtered out classes in top level directories should *not* be loaded ok 4 - Filtered out classes in subdirectories should *not* be loaded ok 5 - Class Tests::Good1 method work as expected ok 6 - Class Tests::Good2 method work as expected ok 7 - Class Tests::Subdir::Good3 method work as expected ok t/_new.t ....................... 1..6 ok 1 - use Test::Class; ok 2 - An object of class 'Foo' isa 'Test::Class' ok 3 - key/value set ok 4 - An object of class 'Foo' isa 'Test::Class' ok 5 - prototype key/value set ok 6 - new key/value set ok t/bad-autoloads.t .............. 1..2 ok 1 - use Test::Class; ok 2 - avoided warnings from Contextual::Return::Value ok t/bailout.t .................... 1..2 ok 1 - bailout works ok 2 - exit value okay ok t/builder.t .................... 1..1 ok 1 - builder ok t/compile.t .................... 1..2 ok 1 - cannot test anon sub ok 2 - bad number detected ok t/current_method.t ............. 1..4 ok 1 - current_method in setup ok 2 - current_method in method ok 3 - current_method in teardown ok 4 - current_test outside runtests ok t/diag_on_failure.t ............ 1..1 ok 1 - we show the test class and method name on test failure ok t/die-in-setup.t ............... 1..1 ok 1 - die in setup caused test method to fail ok t/die_before_plan.t ............ 1..1 ok 1 - die before plan ok t/expected_tests.t ............. 1..10 ok 1 - all set ok 2 - no_plan setup ok 3 - no_plan test ok 4 - no_plan teardown ok 5 - no_plan startup ok 6 - no_plan shutdown ok 7 - expected_test_of ok 8 - no_plan expected_test_of ok 9 - bad test class ok 10 - undef test class ok t/fail1.t ...................... 1..2 ok 1 - FAIL_ALL with plan ok 2 - exit value okay ok t/fail2.t ...................... 1..2 not ok 1 - fail2 # 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 isa Object # 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 isn't defined\n) # /#\s+Failed\ test.*?\n?.*?at\ t\/fail2\.t line 18.*\n?/ # # (in Object::Test->_test_new) # # as expected ok 2 - exit value okay Failed 1/2 subtests t/fail3.t ...................... ok 1 - FAIL_ALL with no plan ok 2 - exit value okay 1..2 ok t/filter.t ..................... 1..1 ok 1 - test_run not filtered, so is run ok t/filter_bad_filter.t .......... 1..1 ok 1 - error on non-coderef filter ok t/filter_fixtures.t ............ 1..5 ok 1 - startup test is run, even though matches filter ok 2 - setup test is run, even though matches filter ok 3 - should run, due to not matching filter ok 4 - teardown test is run, even though matches filter ok 5 - shutdown test is run, even though matches filter ok t/filter_fixtures_only.t ....... 1..1 ok 1 - setup/teardown not run when no test methods ok t/filter_multiple.t ............ 1..2 ok 1 - test_another_not_matching doesn't meet any filters, so is run ok 2 - test_not_filtered doesn't meet any filters, so is run ok t/foo.t ........................ 1..1 ok 1 - works ok t/header.t ..................... ok 1 - no duplicate headers 1..1 ok t/late_header.t ................ 1..2 ok 1 - test number set ok 2 - builder expected tests set ok t/methodinfo.t ................. ok 1 - use Test::Class::MethodInfo; ok 2 - An object of class 'Test::Class::MethodInfo' isa 'Test::Class::MethodInfo' ok 3 - method type is test by default ok 4 - test methods default to 1 test 1..4 ok t/named_test.t ................. ok 1 - test names set to method name by default 1..1 ok t/num_method_tests.t ........... 1..19 ok 1 - fixed num tests ok 2 - no_plan tests ok 3 - cannot use non-method ok 4 - cannot update illegal value ok 5 - updated legal value ok 6 - update worked ok 7 - updated extended ok 8 - update worked ok 9 - extended method okay ok 10 - class expected_tests ok 11 - object expected_tests ok 12 - num_method_tests dies outside test class ok 13 - just passing ok 14 - no_plan_test just passing 1 ok 15 - no_plan_test just passing 2 ok 16 - no_plan_test2 just passing 1 ok 17 - no_plan_test2 just passing 2 ok 18 - two_tests just passing 1 ok 19 - two_tests just passing 2 ok t/num_tests.t .................. 1..4 ok 1 - num_tests access okay ok 2 - num_tests set okay ok 3 - num_tests access okay ok 4 - num_tests set okay ok t/override.t ................... 1..1 ok 1 - cannot override a public method with a test method ok t/rt15870.t .................... 1..1 ok 1 - sensible error if new() is overridden ok t/rt17264.t .................... 1..1 ok 1 - we figured out that we loaded Test::Class too late ok t/run_all_tests.t .............. 1..5 ok 1 - Test::Class->SKIP_CLASS default ok 2 - Base::Test->SKIP_CLASS overridden ok 3 - A::Test->SKIP_CLASS default ok 4 - non skipping test class run as expected ok 5 - runtests skipped classes with SKIP_CLASS set ok t/runtests.t ................... 1..18 ok 1 - initialise2: methods ran in order ok 2 - test1: initialise1 ran once ok 3 - test1: initialise2 ran once ok 4 - test1: first test running ok 5 - test1: teardown not run ok 6 - teardown1: teardown run for every test ok 7 - teardown1: teardown run for every initialise1 ok 8 - teardown1: teardown run for every initialise2 ok 9 - teardown1: setup run for every test ok 10 - initialise2: methods ran in order ok 11 - test2: initialise1 ran twice ok 12 - test2: initialise2 ran twice ok 13 - test2: second test running ok 14 - test2: teardown ran once ok 15 - teardown1: teardown run for every test ok 16 - teardown1: teardown run for every initialise1 ok 17 - teardown1: teardown run for every initialise2 ok 18 - teardown1: setup run for every test ok t/runtests_die.t ............... 1..1 not ok 1 - early die handled # 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 isa Object # 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 isn't defined # /#\s+Failed\ test.*?\n?.*?at\ t\/runtests_die\.t line 33.*\n?/ # # (in Foo->test_object) # # as expected Failed 1/1 subtests t/runtests_extra.t ............. 1..1 ok 1 - extra test detected ok t/runtests_noplan.t ............ ok 1 - this should pass ok 2 - runtime test 1 ok 3 - runtime test 2 ok 4 - expected number of tests ran 1..4 ok t/runtests_of.t ................ 1..3 ok 1 - Tests1 test ok 2 - Tests2 test ok 3 - correct number of tests ok t/runtests_result.t ............ 1..4 ok 1 - single failure ran okay ok 2 - failure detected ok 3 - a successful test ok 4 - success detected ok t/runtests_return.t ............ 1..2 ok 1 - early return handled (skip) not ok 2 - early return handled (fail) # Failed test 'early return handled (fail)' # at t/runtests_return.t line 38. # STDERR is: # # Failed test '(Bar::darwin_only returned before plan complete)' # # at /root/.cpanplus/5.19.5/build/Test-Class-0.39/blib/lib/Test/Class.pm line 392. # # (in Bar->darwin_only) # # Failed test '(Bar::darwin_only returned before plan complete)' # # at /root/.cpanplus/5.19.5/build/Test-Class-0.39/blib/lib/Test/Class.pm line 392. # # (in Bar->darwin_only) # # not: # darwin only test # # as expected Failed 1/2 subtests t/runtests_trailing.t .......... 1..1 ok 1 - trailing expection detected ok t/runtests_with_wrong_class.t .. 1..2 ok 1 - use Test::Class; ok 2 - runtests dies if we are given something that is not a test class ok t/show_plan_in_shutdown.t ...... 1..2 ok 1 - passing test to force shutdown method to run ok 2 - shutdown method has run ok t/skip1.t ...................... 1..1 ok 1 - SKIP_ALL called skip_all ok t/skip2.t ...................... 1..4 ok 1 - SKIP_ALL ok 2 - exit ok ok 3 - make the plan happy ok 4 - make the plan happy ok t/skip_class_reason.t .......... 1..3 # Running under perl version 5.018001 for linux # Current time local: Mon Oct 21 12:01:05 2013 # Current time GMT: Mon Oct 21 17:01:05 2013 # Using Test.pm version 1.26 ok 1 ok 2 ok 3 ok t/skip_empty_classes.t ......... 1..5 ok 1 - startup run # # Bar::Test->the_test ok 2 - setup run ok 3 - the_test has been run ok 4 - teardown run ok 5 - shutdown run ok t/spaces.t ..................... ok 1 - can have spaces around attributes 1..1 ok t/startup.t .................... 1..15 ok 1 - called start1 ok 2 - called start2 ok 3 - called setup1 ok 4 - called setup2 ok 5 - called test1 ok 6 - called tear1 ok 7 - called tear2 ok 8 - called setup1 ok 9 - called setup2 ok 10 - called test2 ok 11 - called tear1 ok 12 - called tear2 ok 13 - called end1 ok 14 - called end2 ok 15 - all expected methods ran ok t/startup_that_dies.t .......... 1..1 ok 1 - exception in startup method causes all tests to be skipped ok t/test_classes.t ............... 1..1 ok 1 - _test_classes deals with undef values ok t/test_deep.t .................. 1..1 ok 1 - Test::Deep is not included as a test class, even though isa always returns true ok t/test_method.t ................ 1..4 ok 1 - $ENV{TEST_METHOD} with an invalid regex should die ok 2 - no TEST_METHOD runs all tests ok 3 - single match just runs one test ok 4 - two matches run both tests ok t/test_verbose.t ............... 1..1 ok 1 - TEST_VERBOSE outputs method diagnostic ok t/Tests.t ...................... 1..2 ok 1 - Tests attribute default number of tests ok 2 - Tests attribute set number of tests ok t/todo.t ....................... 1..2 # Test::More: 0.99 ok 1 - todo tests work ok 2 - todo_test should run 1 test 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=55, Tests=187, 2 wallclock secs ( 0.12 usr 0.04 sys + 1.78 cusr 0.19 csys = 2.13 CPU) Result: FAIL Failed 3/55 test programs. 3/187 subtests failed. -- Love Living Well Doing What You Love? http://DavidFavor.com/books can help!
Subject: Re: [rt.cpan.org #89659] Test::Class-0.39 broken in perl-5.18.1 + perl-5.19.5
Date: Mon, 21 Oct 2013 20:47:13 +0100
To: bug-Test-Class@rt.cpan.org
From: Zefram <zefram@fysh.org>
This is a duplicate of [rt.cpan.org #89473]. It's a combination of two bugs, one in Test-Simple for which there's a patch at [rt.cpan.org #89655], and one in Test-Class for which there's a patch at [rt.cpan.org #89473]. -zefram
The latest Test::Class now works with the latest Test::Builder. -- rjbs


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.