On Mon, Oct 6, 2014 at 2:23 PM, Dave Mitchell <davem@iabyn.com> wrote: > On Sun, Oct 05, 2014 at 07:47:24PM +0200, Ęvar Arnfjörš Bjarmason wrote: >> I got access to an IBM pSeries POWER7 Fedora Linux box. It's currently >> failing these tests on blead: >> >> * io/eintr.t >> * op/sprintf2.t >> * porting/libperl.t >> >> It seems the first is skipped in v5.20.1 > > io/eintr.t is skipped on non-devel builds. It tests what happens when a > sig handler does IO (e.g. closing a file handle) in the middle of IO (it > used to SEGV). On many plaforms such IO isn't interruptible, so the test > can't be done. Looks like your system is one of those. There's a big > 'skip_all' near the top of the test file that presumably needs tweaking. It's a recent Linux system, I don't see why stuff like that wouldn't work just because you're on a different processor. This hack makes it pass: diff --git a/t/io/eintr.t b/t/io/eintr.t index 9ea9cc7..726f93a 100644 --- a/t/io/eintr.t +++ b/t/io/eintr.t @@ -99,7 +99,7 @@ ok(close($in), 'read/die: close status'); fresh_io; $SIG{ALRM} = sub { $sigst = close($out) ? "ok" : "nok" }; -$buf = "a" x 1_000_000 . "\n"; # bigger than any pipe buffer hopefully +$buf = "a" x 1_000_000_000 . "\n"; # bigger than any pipe buffer hopefully select $out; $| = 1; select STDOUT; alarm(1); $st = print $out $buf; @@ -112,7 +112,7 @@ ok(!close($out), 'print/close: close status'); fresh_io; $SIG{ALRM} = sub { die }; -$buf = "a" x 1_000_000 . "\n"; # bigger than any pipe buffer hopefully +$buf = "a" x 1_000_000_000 . "\n"; # bigger than any pipe buffer hopefully select $out; $| = 1; select STDOUT; alarm(1); $st = eval { print $out $buf };Thread Previous | Thread Next