Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #111796] Rakudo regex regression

14 views
Skip to first unread message

Moritz Lenz

unread,
Mar 16, 2012, 10:51:44 AM3/16/12
to bugs-bi...@rt.perl.org
# New Ticket Created by Moritz Lenz
# Please include the string: [perl #111796]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=111796 >


Somwhere between the 2012.02 release and 2012.02-180-g16bf0f4, test 253
in S05-mass/rx.t started to fail:

eval_dies_ok '/a|&b/', 'alternation and conjunction (|&) - parse error';

I have no idea what might caused it, but the proper fix probably
involves detecting Null Patterns.

I'll TODO the test for now.

Nicholas Clark

unread,
Mar 16, 2012, 12:56:44 PM3/16/12
to perl6-c...@perl.org
On Fri, Mar 16, 2012 at 07:51:44AM -0700, Moritz Lenz wrote:

> Somwhere between the 2012.02 release and 2012.02-180-g16bf0f4, test 253
> in S05-mass/rx.t started to fail:
>
> eval_dies_ok '/a|&b/', 'alternation and conjunction (|&) - parse error';
>
> I have no idea what might caused it, but the proper fix probably
> involves detecting Null Patterns.

Isn't this were a git bisect is a routine way to find out the cause?

(In that, it's proving a very powerful way to find the cause of regressions
in Perl 5 with minimal human effort, a fast machine, and a cup of tea*

And if git bisect on its own isn't easy enough, write a wrapper to automate
as much as possible. I wrote one for perl 5:

https://metacpan.org/module/CORION/perl-5.15.8/Porting/bisect-runner.pl

which tries to make it as easy as taking your failing 1 liner:

perl -e '... stuff that regressed ...'

and changing that to

.../Porting/bisect.pl -e '... stuff that regressed ...'


and off it goes.

No messing with git bisect start, git bisect run, having to make a wrapper
script, getting the build to build at that revision, getting the test case
round the wrong way, etc ...)


Nicholas Clark

* Or other source of amusement whilst the bisect runs for 15 to 30 minutes

Brandon Allbery

unread,
Mar 16, 2012, 1:04:25 PM3/16/12
to perl6-c...@perl.org
On Fri, Mar 16, 2012 at 12:56, Nicholas Clark <ni...@ccl4.org> wrote:

> On Fri, Mar 16, 2012 at 07:51:44AM -0700, Moritz Lenz wrote:
> > Somwhere between the 2012.02 release and 2012.02-180-g16bf0f4, test 253
> > in S05-mass/rx.t started to fail:
>
> Isn't this were a git bisect is a routine way to find out the cause?
>

Only when you don't need to tie the repo you're bisecting to
commit-specific versions of some independent repo (viz. Parrot). (darcs
trackdown doesn't know how to do that either....)

--
brandon s allbery allb...@gmail.com
wandering unix systems administrator (available) (412) 475-9364 vm/sms

Will Coleda

unread,
Mar 16, 2012, 3:51:49 PM3/16/12
to Brandon Allbery, perl6-c...@perl.org
In this case, if you build rakudo with --gen-parrot, you'll whatever
the recommended version for that release of rakudo.

So, you could remove the ./install directory before each bisect run
and get a version of parrot that will at least probably work with that
version of rakudo.



--
Will "Coke" Coleda

Patrick R. Michaud

unread,
Mar 16, 2012, 4:04:24 PM3/16/12
to Will Coleda, Brandon Allbery, perl6-c...@perl.org
On Fri, Mar 16, 2012 at 03:51:49PM -0400, Will Coleda wrote:
> In this case, if you build rakudo with --gen-parrot, you'll whatever
> the recommended version for that release of rakudo.

...or any later version, if the parrot/ subdirectory is a git repository.

> So, you could remove the ./install directory before each bisect run
> and get a version of parrot that will at least probably work with that
> version of rakudo.

Since --gen-parrot accepts later releases, you might need to
remove or update the parrot/ directory as well. And nqp/ is
similarly implicated as well.

So, a true rebuild likely means doing something like:

( cd nqp; git checkout $(cat ../tools/build/NQP_REVISION) )
perl Configure.pl --gen-parrot=$(cat nqp/tools/build/PARROT_REVISION)

Pm
0 new messages