Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wbraswell opened this issue Apr 27, 2019 · 6 comments
Open

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

wbraswell opened this issue Apr 27, 2019 · 6 comments

Comments

@wbraswell
Copy link
Member

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

@wbraswell
Copy link
Member Author

@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 wbraswell changed the title PPI 1.252 Causes Perl::Critic Error, Failed test 'parse_arg_list: foo( { bar() }, {}, 'blah' )' PPI 1.252 Causes Perl::Critic Error in Perl 5.24 & Newer Apr 27, 2019
@wbraswell
Copy link
Member Author

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

@wchristian
Copy link
Member

Are you sure it is 1.252 and not 1.248?

  • parse list-embedded curlies as hash constructors

@wbraswell
Copy link
Member Author

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 wbraswell changed the title PPI 1.252 Causes Perl::Critic Error in Perl 5.24 & Newer PPI 1.264 Causes Perl::Critic Error in Perl 5.22 & Newer May 1, 2019
@wbraswell
Copy link
Member Author

@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)

@oalders
Copy link
Collaborator

oalders commented Apr 28, 2022

@wbraswell is this still an issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants