Skip Menu |

This queue is for tickets about the define CPAN distribution.

Report information
The Basics
Id: 95456
Status: resolved
Priority: 0/
Queue: define

People
Owner: NEILB [...] cpan.org
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.02
Fixed in: 1.03



Subject: Test suite fails with perl 5.19.x
The test suite fails with perl 5.19.11 (on the same system it works fine with perl 5.18.2): PERL_DL_NONLAZY=1 /bbbike/perl-5.19.11/bin/perl5.19.11 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t ********************************************** *** These tests generate a few warnings. *** *** Do not be afraid. *** ********************************************** Global constant main::ZUM redefined at t/define.t line 61. Subroutine main::ZUM redefined at /bbbike/.cpan-build/define-1.02-M71dks/blib/lib/define.pm line 97. Global constant main::ZOG redefined at t/define.t line 70. Subroutine main::ZOG redefined at /bbbike/.cpan-build/define-1.02-M71dks/blib/lib/define.pm line 97. # Test 18 got: "" (t/define.t at line 80) # Expected: "1" # t/define.t line 80 is: ok( ($body =~ /return 1 \+ BAZ \+ 0;/), 1 ); t/define.t .. Failed 1/18 subtests Regards, Slaven
Obvious thing when looking at define.pm is that it uses this sequence (see https://metacpan.org/source/GGUREVICH/define-1.02/lib/define.pm) use strict; [...] require Carp; Carp::croak "..."; Note, that there is no "use Carp" anywhere. This construct was never legal except at time when somebody else was loading Carp. It was always illegal to use a not exisiting function without parens. It was legal to use an existing function without parens. So clearly somebody in that neighborhood was loading Carp.pm in 2004. Nowadays this code does not work anymore and if one only tried to load definde.pm one gets: String found where operator expected at /home/sand/src/perl/repoperls/installed-perls/perl/v5.12.5/a2da/lib/site_perl/5.12.5/define.pm line 33, near "Carp::croak "Must call 'use define' with parameters"" (Do you need to predeclare Carp::croak?) This does not yet explain everything. I'm just stating the obvious.
Abstracting away the 'use Carp' issue, it seems that bleadperl v5.19.2-138-g137da2b adds the next problem for define.pm. http://rt.perl.org/rt3/Ticket/Display.html?id=119047 has more about that commit.
Several issues here, but I think I got all of them in 1.03 Cheers, Neil