In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/8aed2c65cec8aaa88a3d43cb2992c5383ce2e6e8?hp=8341ee1e81d127dbdfb6941f86b35b72fab49837>
- Log ----------------------------------------------------------------- commit 8aed2c65cec8aaa88a3d43cb2992c5383ce2e6e8 Author: David Mitchell <[email protected]> Date: Sat Apr 14 10:28:35 2012 +0100 op/sigdispatch.t: skip tests on prodn releases RT #89718 showed a couple of tests hanging on old linux kernels. Until such time as someone can reliably probe for this, just completely skip those tests on production releases. ----------------------------------------------------------------------- Summary of changes: t/op/sigdispatch.t | 28 ++++++++++++++++++---------- 1 files changed, 18 insertions(+), 10 deletions(-) diff --git a/t/op/sigdispatch.t b/t/op/sigdispatch.t index 332507f..8161a71 100644 --- a/t/op/sigdispatch.t +++ b/t/op/sigdispatch.t @@ -89,16 +89,24 @@ TODO: is $gotit, 2, 'Received fifth signal'; # test unsafe signal handlers in combination with exceptions - my $action = POSIX::SigAction->new(sub { $gotit--, die }, POSIX::SigSet->new, 0); - POSIX::sigaction(&POSIX::SIGALRM, $action); - eval { - alarm 1; - my $set = POSIX::SigSet->new; - POSIX::sigprocmask(&POSIX::SIG_BLOCK, undef, $set); - is $set->ismember(&POSIX::SIGALRM), 0, "SIGALRM is not blocked on attempt $_"; - POSIX::sigsuspend($set); - } for 1..2; - is $gotit, 0, 'Received both signals'; + + SKIP: { + # #89718: on old linux kernels, this test hangs. No-ones thought + # of a reliable way to probe for this, so for now, just skip the + # tests on production releases + skip("some OSes hang here", 3) if (int($]*1000) & 1) == 0; + + my $action = POSIX::SigAction->new(sub { $gotit--, die }, POSIX::SigSet->new, 0); + POSIX::sigaction(&POSIX::SIGALRM, $action); + eval { + alarm 1; + my $set = POSIX::SigSet->new; + POSIX::sigprocmask(&POSIX::SIG_BLOCK, undef, $set); + is $set->ismember(&POSIX::SIGALRM), 0, "SIGALRM is not blocked on attempt $_"; + POSIX::sigsuspend($set); + } for 1..2; + is $gotit, 0, 'Received both signals'; + } } SKIP: { -- Perl5 Master Repository
