On Tue, Aug 26, 2008 at 02:30:47PM +0100, Steve Hay wrote:
> Nicholas Clark wrote:
> > Odd. So try something else: If you change t/op/local.t from
> >
> > like( runperl(stderr => 1,
> > prog => 'use constant foo => q(a);' .
> > 'index(q(a), foo);' .
> > 'local *g=${::}{foo};print "ok";'), "ok",
> > "[perl #52740]");
> >
> > to
> >
> > like( runperl(stderr => 1,
> > prog => 'use constant foo => q(a);' .
> > 'index(q(a), foo);' .
> > 'local *g=${::}{foo};print "ok\n";'), "ok",
> > "[perl #52740]");
> >
> >
> > does that make t/op/local.t pass?
>
> No, it didn't. But #34228 does.
>
> It seems that runperl() is a little flaky when it comes to handling
> quotes in different shells. Perhaps it is best to always use q() and
> qq().
Yes. I wondered that. But I looked at the code and thought that it was always
using a temporary file. Hence I didn't try committing that change blind
yesterday.
I wonder what I missed.
(And if it was using -e, I was going to make test.pl default to warning if it
found ' or " with an option to turn that warning off)
Nicholas Clark
Thread Previous
|
Thread Next