PPI icon indicating copy to clipboard operation
PPI copied to clipboard

PPI 1.264 Causes Perl::Critic Error in Perl 5.22 & Newer

Open wbraswell opened this issue 7 years ago • 6 comments

The latest release of PPI 1.252 (and presumably newer releases) are causing failure for Perl::Critic:

https://ci.appveyor.com/project/petdance/perl-critic/builds/24138034

...
t\04_options_processor.t ...................... ok
#   Failed test 'parse_arg_list: foo( { bar() }, {}, 'blah' )'
#   at t\05_utils.t line 433.
#     Structures begin differing at:
#          $got->[0] = ARRAY(0x5a53a90)
#     $expected->[0] = ' { bar() }'
# Looks like you failed 1 test of 156.
t\05_utils.t .................................. 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/156 subtests 
t\05_utils_perl.t ............................. ok
...

Related to https://github.com/Perl-Critic/Perl-Critic/issues/860

wbraswell avatar Apr 27 '19 03:04 wbraswell

@wchristian This is a new failure in Perl::Critic which did not exist before PPI 1.252, please provide your guidance on how to recover. Thanks in advance! :-)

wbraswell avatar Apr 27 '19 03:04 wbraswell

This error seems to appear in Perl 5.24 and newer. https://travis-ci.org/Perl-Critic/Perl-Critic/builds/525222639

wbraswell avatar Apr 27 '19 03:04 wbraswell

Are you sure it is 1.252 and not 1.248?

  • parse list-embedded curlies as hash constructors

wchristian avatar Apr 27 '19 07:04 wchristian

If you drill down from the Travis page into the Perl 5.24 build, then view the raw log, you will see this:

https://api.travis-ci.org/v3/job/525222642/log.txt

...
--> Working on PPI
Fetching http://www.cpan.org/authors/id/M/MI/MITHALDU/PPI-1.252.tar.gz ... OK
Configuring PPI-1.252 ... OK
==> Found dependencies: Test::InDistDir
--> Working on Test::InDistDir
Fetching http://www.cpan.org/authors/id/M/MI/MITHALDU/Test-InDistDir-1.112071.tar.gz ... OK
Configuring Test-InDistDir-1.112071 ... OK
Building and testing Test-InDistDir-1.112071 ... OK
Successfully installed Test-InDistDir-1.112071
Building and testing PPI-1.252 ... OK
Successfully installed PPI-1.252 (upgraded from 1.236)
...

wbraswell avatar Apr 27 '19 15:04 wbraswell

@wchristian Similar to https://github.com/adamkennedy/PPI/issues/237... We have now upgraded Perl::Critic dev branch to require PPI 1.264, and now we are down to only 2 errors for Perl 5.22 and newer. (Thus, I have renamed this issue.) https://travis-ci.org/Perl-Critic/Perl-Critic/builds/526963275 https://api.travis-ci.org/v3/job/526963279/log.txt

t/05_utils_ppi.t .............................. ok
===(    3513;6    7/237   7/32   90/156  0/?  0/?  0/?  0/?  0/? )======
#   Failed test 'parse_arg_list: foo( { bar() }, {}, 'blah' )'
#   at t/05_utils.t line 433.
#     Structures begin differing at:
#          $got->[0] = ARRAY(0x4c00278)
#     $expected->[0] = ' { bar() }'
# Looks like you failed 1 test of 156.
t/05_utils.t .................................. [31mDubious, test returned 1 (wstat 256, 0x100)[0m
[31mFailed 1/156 subtests [0m

...and...

t/16_roundtrip_defaults.t ..................... ok
===(    5688;29   331/2709  1/?  0/?  0/?  0/?  0/?  0/?  0/? )=========
===(    5710;30   353/2709  1/?  0/?  0/?  0/?  0/?  0/4  0/?  0/? )====
#   Failed test 'Test::Perl::Critic for "blib/lib/Perl/Critic/Command.pm"'
#   at /home/travis/perl5/perlbrew/perls/5.22.4/lib/site_perl/5.22.4/Test/Perl/Critic.pm line 121.
# 
#   blib/lib/Perl/Critic/Command.pm: Use "<>" or "<ARGV>" or a prompting module instead of "<STDIN>" at line 190, column 51.  See pages 216,220,221 of PBP.  (Severity: 4, InputOutput::ProhibitExplicitStdin)

wbraswell avatar May 01 '19 18:05 wbraswell

@wbraswell is this still an issue?

oalders avatar Apr 28 '22 18:04 oalders