develooper Front page | perl.perl5.porters | Postings from June 2019

[perl #134210] BBC: Recent commit breaks PPI

Thread Next
From:
James E Keenan via RT
Date:
June 19, 2019 03:33
Subject:
[perl #134210] BBC: Recent commit breaks PPI
Message ID:
rt-4.0.24-28132-1560915200-1415.134210-15-0@perl.org
On Wed, 19 Jun 2019 00:20:04 GMT, tonyc wrote:
> On Tue, 18 Jun 2019 14:41:37 -0700, jkeenan@pobox.com wrote:
> > A commit somewhere between 5.31.0 and
> > 84ab3b690861c92bea535c991537bdde20c93750 has broken a test in the
> > test
> > suite for CPAN distribution PPI. The range is suggested by this
> > cpantesters matrix page:
> >
> > http://matrix.cpantesters.org/?dist=PPI;perl=5.31.1;reports=1http://matrix.cpantesters.org/?dist=PPI;perl=5.31.1;reports=1
> >
> > The failures look like this:
> >
> > #####
> > t/07_token.t                   (Wstat: 512 Tests: 588 Failed: 2)
> >    Failed tests:  343, 383
> >    Non-zero exit status: 2
> >
> >
> > ok 342 - '0b' not ::Exp
> > not ok 343 - literal('0b'), syntax error at (eval 322) line 1, near
> > "0b
> > # "
> > #
> > ok 344 - '0b0' is a single token
> >
> > ok 382 - '0x' not ::Exp
> > not ok 383 - literal('0x'), syntax error at (eval 353) line 1, at EOF
> > #
> > ok 384 - '0x0' is a single token
> > #####
> >
> > See, for example,
> > http://www.cpantesters.org/cpan/report/1ca39640-8fe4-11e9-a494-
> > 7754e9c36978
> >
> > I haven't managed to bisect this yet, but since PPI has many, many
> > dependencies, this is going to cause a lot of installation failures
> > when
> > we start to test the CPAN-river-3000 against perl-5.31.1 later this
> > week.
> >
> > The perl_V attachment is not directly relevant to this report.
> 
> Going by the error it's likely from:
> 
> commit 7259f4194f3131957240f6b3dba47b74f53ac660
> Author: Tony Cook <tony@develop-help.com>
> Date:   Tue Jun 4 16:35:35 2019 +1000
> 
> (perl #134125) accept only complete hex and binary literals
> 
> 
> which changes the way code like:
> 
> $x = 0x;
> 
> is parsed.
> 
> Previously the "0x" was parsed as a hex constant with value 0, but
> without the following digits it's now parsed as a constant 0 followed
> by an x operator.
> 
> Another option would be to treat such incomplete hex/binary constants
> as errors, but PPI would still be failing.
> 
> I think it's something PPI will need to fix.
> 

Yes, that's the commit.  Tail of output from this command:

#####
perl Porting/bisect.pl --start=v5.31.0 --end=84ab3b690861c92bea535c991537bdde20c93750 --module=PPI
#####

#####
7259f4194f3131957240f6b3dba47b74f53ac660 is the first bad commit
commit 7259f4194f3131957240f6b3dba47b74f53ac660
Author: Tony Cook <tony@develop-help.com>
Date:   Tue Jun 4 16:35:35 2019 +1000

    (perl #134125) accept only complete hex and binary literals

:040000 040000 9bf22887767492c8d5b85e10d7338eb182ebfd0b f1160792ee57d5d96f2b5374c78fdde7fc3cd43e M     t
:100644 100644 dba907d8570316acab70f8a048673d4f6e39bd07 26d383f0065260c926a736e24084b21dfa5c853a M     toke.c
bisect run success
That took 2129 seconds.
#####


-- 
James E Keenan (jkeenan@cpan.org)

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=134210

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About