PPI 1.264 Causes Perl::Critic Error in Perl 5.22 & Newer
wbraswell opened this issue · 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 Perl-Critic/Perl-Critic#860
@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! :-)
This error seems to appear in Perl 5.24 and newer.
https://travis-ci.org/Perl-Critic/Perl-Critic/builds/525222639
Are you sure it is 1.252 and not 1.248?
- parse list-embedded curlies as hash constructors
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)
...
@wchristian
Similar to #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 is this still an issue?