Skip Menu |

This queue is for tickets about the PerlIO-Util CPAN distribution.

Report information
The Basics
Id: 66991
Status: resolved
Priority: 0/
Queue: PerlIO-Util

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.71
Fixed in: (no value)



Subject: Tests fail with perl 5.13.11
Two test files fail with perl 5.13.11 on my freebsd 8.0 box. The whole test suite works fine with perl 5.12.3, so probably the failures are caused by changes in perl itself. Here are the errors: # Failed test 'open with :utf8, :flock and :creat -> success' # at t/05_extra.t line 44. # Failed test 'to utf8 mode' # at t/05_extra.t line 45. # '' # doesn't match '(?^:utf8)' # Looks like you failed 2 tests of 13. t/05_extra.t ......... Dubious, test returned 2 (wstat 512, 0x200) Failed 2/13 subtests More than one argument to open(,':utf8') at t/061_tee_binmode.t line 110. # Looks like you planned 42 tests but ran 35. # Looks like your test exited with 255 just after 35. t/061_tee_binmode.t .. Dubious, test returned 255 (wstat 65280, 0xff00) Failed 7/42 subtests There is also an additional warning with the newer perl: Use of qw(...) as parentheses is deprecated at t/09_invalid.t line 22. t/09_invalid.t ....... ok Regards, Slaven
I've attached a fix for the bug in :flock. It had the same bug that pop, utf8 and bytes had: layers with an Open method can not be pushed on top of layers without one; this is a design issue inherent to the way PerlIO works. Since utf8 has one in 5.14 it can not be pushed on top of flock which doesn't. The solution to this is simple: give flock an Open method. The attached solutionmakes flock use PerlIOBase_open if present (version 5.13.10 and up) but leave things the way they currently are on older releases. Regards, Leon
On 2011-04-07 05:49:09, LEONT wrote: Show quoted text
> I've attached a fix for the bug in :flock. It had the same bug that pop, > utf8 and bytes had: layers with an Open method can not be pushed on top > of layers without one; this is a design issue inherent to the way PerlIO > works. Since utf8 has one in 5.14 it can not be pushed on top of flock > which doesn't. The solution to this is simple: give flock an Open > method. The attached solutionmakes flock use PerlIOBase_open if present > (version 5.13.10 and up) but leave things the way they currently are on > older releases. >
Hi Leon, it seems that the patch is missing... Regards, Slaven
I cannot get the root of the problem, but I have made a workaround for it in PerlIO::Util 0.72. Thanks. -- Goro Fuji (gfx) GFUJI at CPAN.org