Skip Menu |

This queue is for tickets about the JE CPAN distribution.

Report information
The Basics
Id: 127415
Status: new
Priority: 0/
Queue: JE

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

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



Subject: t/15.10-regexp-objects.t: fails against perl-5.29.4
Today, as part of assessing the perl-5.30-readiness of a selected subset of CPAN distributions (the "CPAN River 3000"), I attempted to build and test JE on FreeBSD-11 against perl-5.29.4 using 'cpanm' as the installer. I got a test failure which caused JE to be graded FAIL. That grade in turn prevents any of JE's reverse dependencies from being reached in this testing process or from being installed by installers such as 'cpanm' or 'cpan'. ##### { author => "SPROUT", dist => "JE", distname => "JE-0.066", distversion => 0.066, grade => "FAIL", prereqs => undef, test_output => [ "Building and testing JE-0.066", "cp lib/JE/Object/Math.pm blib/lib/JE/Object/Math.pm", ... "cp lib/JE/escape.pl blib/lib/JE/escape.pl", "PERL_DL_NONLAZY=1 \"/usr/home/jkeenan/var/tad/testing/perl-5.29.4/bin/perl\" \"-MExtUtils::Command::MM\" \"-MTest::Harness\" \"-e\" \"undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')\" t/*.t", "t/07.09-semicolon-insertion.t ............ ok", ... "t/15.09-dates.t .......................... ok", "./t/jstest.pl: Couldn't compile t/15.10-regexp-objects.t: SyntaxError: Sequence (?_...) not recognized in regex; marked by <-- HERE in m/(?:(?^:____________________________)(?:(?:________________________________(?:(?_ <-- HERE ________________________________\\1)|(^a____________________________))){2})(?^:______________________________________________________))/ at (eval 183) line 1, <DATA> line 1 at ./t/jstest.pl line 57, <DATA> line 1.", "\t...propagated at t/15.10-regexp-objects.t line 2, <DATA> line 1.", "# Looks like your test exited with 255 before it could output anything.", "t/15.10-regexp-objects.t ................. ", "Dubious, test returned 255 (wstat 65280, 0xff00)", "Failed 512/512 subtests ", "t/15.11-error-objects.t .................. ok", "t/B.01-octals.t .......................... ok", ... "t/parse40-white-space.t .................. ok", "", "Test Summary Report", "-------------------", "t/15.10-regexp-objects.t (Wstat: 65280 Tests: 0 Failed: 0)", " Non-zero exit status: 255", " Parse errors: Bad plan. You planned 512 tests but ran 0.", "Files=102, Tests=16174, 36 wallclock secs ( 0.45 usr 1.30 sys + 26.81 cusr 5.26 csys = 33.81 CPU)", "Result: FAIL", ], via => "App::cpanminus::reporter 0.17 (1.7044)", } ##### Thank you very much. Jim Keenan
On Sun Oct 21 12:10:32 2018, JKEENAN wrote: Show quoted text
> Today, as part of assessing the perl-5.30-readiness of a selected > subset of CPAN distributions (the "CPAN River 3000"), I attempted to > build and test JE on FreeBSD-11 against perl-5.29.4 using 'cpanm' as > the installer. I got a test failure which caused JE to be graded > FAIL. That grade in turn prevents any of JE's reverse dependencies > from being reached in this testing process or from being installed by > installers such as 'cpanm' or 'cpan'. > > ##### > { > author => "SPROUT", > dist => "JE", > distname => "JE-0.066", > distversion => 0.066, > grade => "FAIL", > prereqs => undef, > test_output => [ > "Building and testing JE-0.066", > "cp lib/JE/Object/Math.pm blib/lib/JE/Object/Math.pm", > ... > "cp lib/JE/escape.pl blib/lib/JE/escape.pl", > "PERL_DL_NONLAZY=1 \"/usr/home/jkeenan/var/tad/testing/perl- > 5.29.4/bin/perl\" \"-MExtUtils::Command::MM\" \"-MTest::Harness\" \"- > e\" \"undef *Test::Harness::Switches; test_harness(0, 'blib/lib', > 'blib/arch')\" t/*.t", > "t/07.09-semicolon-insertion.t ............ ok", > ... > "t/15.09-dates.t .......................... ok", > "./t/jstest.pl: Couldn't compile t/15.10-regexp-objects.t: > SyntaxError: Sequence (?_...) not recognized in regex; marked by <-- > HERE in > m/(?:(?^:____________________________)(?:(?:________________________________(?:(?_ > <-- HERE > ________________________________\\1)|(^a____________________________))){2})(?^:______________________________________________________))/ > at (eval 183) line 1, <DATA> line 1 at ./t/jstest.pl line 57, <DATA> > line 1.", > "\t...propagated at t/15.10-regexp-objects.t line 2, <DATA> line > 1.", > "# Looks like your test exited with 255 before it could output > anything.", > "t/15.10-regexp-objects.t ................. ", > "Dubious, test returned 255 (wstat 65280, 0xff00)", > "Failed 512/512 subtests ", > "t/15.11-error-objects.t .................. ok", > "t/B.01-octals.t .......................... ok", > ... > "t/parse40-white-space.t .................. ok", > "", > "Test Summary Report", > "-------------------", > "t/15.10-regexp-objects.t (Wstat: 65280 Tests: 0 > Failed: 0)", > " Non-zero exit status: 255", > " Parse errors: Bad plan. You planned 512 tests but ran 0.", > "Files=102, Tests=16174, 36 wallclock secs ( 0.45 usr 1.30 sys + > 26.81 cusr 5.26 csys = 33.81 CPU)", > "Result: FAIL", > ], > via => "App::cpanminus::reporter 0.17 (1.7044)", > } > ##### > > Thank you very much. > Jim Keenan
It should be noted that when I try to compile, build and test JE at perl-5.28.0, I get 3 uninitialized value warnings in the same test file that is failing completely when run against perl-5.29.4. ##### $ prove -vb t/15.10-regexp-objects.t ... ok 263 - RegExp with anything else calls new RegExp Use of uninitialized value $tmp in substitution (s///) at /home/jkeenan/Downloads/JE-0.066/blib/lib/JE/Object/RegExp.pm line 329, <DATA> line 1. ok 264 - new RegExp(re) copies the re ok 265 - the new re stringifies the same way ok 266 - the global flag is copied (false) ok 267 - the /i flag is copied (false) ok 268 - the /m flag is copied (false) Use of uninitialized value $tmp in substitution (s///) at /home/jkeenan/Downloads/JE-0.066/blib/lib/JE/Object/RegExp.pm line 329, <DATA> line 1. ok 269 - the global flag is copied (true) ok 270 - the /i flag is copied (true) ok 271 - the /m flag is copied (true) Use of uninitialized value $tmp in substitution (s///) at /home/jkeenan/Downloads/JE-0.066/blib/lib/JE/Object/RegExp.pm line 329, <DATA> line 1. ok 272 - explicit undefined 2nd arg ... ok 273 - ... copies the re ok 274 - new RegExp(re,something) dies with a TypeError ok 275 - flags set by new RegExp when 2nd arg is omitted ... ##### So perhaps this part of lib/JE/Object/RegExp.pm is a good place to start debugging: ##### 324 $self->prop({ 325 name => source => 326 # ~~~ Can we use ->_new here? 327 value => JE::String->new($global, do { 328 (my $tmp = $re) =~ 329 s<(\\.)|/> 330 <defined $1 ? $1 : '\/'>egg; 331 $tmp 332 }), 333 dontenum => 1, 334 readonly => 1, 335 dontdel => 1, 336 }); ##### Thank you very much. Jim Keenan