From: Alain Barbet Date: Sat, 2 Aug 2003 16:19:25 +0000 (+0200) Subject: Re: [perl #23202] coredump on ext/POSIX/t/posix with NetBSD-1.6 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=7eb03357e6e31f7e9e759242eb85abc02adea5cf;p=p5sagit%2Fp5-mst-13.2.git Re: [perl #23202] coredump on ext/POSIX/t/posix with NetBSD-1.6 Message-ID: <3F2BC86D.2050400@jupiter.alianet> Plus, un-mark a test as TODO for darwin >= 6.6 (by M. Schwern) p4raw-id: //depot/perl@20461 --- diff --git a/ext/POSIX/t/posix.t b/ext/POSIX/t/posix.t index ea50ea3..dbc700a 100644 --- a/ext/POSIX/t/posix.t +++ b/ext/POSIX/t/posix.t @@ -75,15 +75,22 @@ SKIP: { my $action = new POSIX::SigAction 'main::SigHUP', $mask, 0; sigaction(&SIGHUP, $action); $SIG{'INT'} = 'SigINT'; - kill 'HUP', $$; + + # At least OpenBSD/i386 3.3 is okay, as is NetBSD 1.5. + # But not NetBSD 1.6 & 1.6.1: the test makes perl crash. + # So the kill() must not be done with this config in order to + # finish the test. + # For others (darwin & freebsd), let the test fail without crashing. + my $todo = $^O eq 'netbsd' && $Config{osvers}=~/^1\.6/; + kill 'HUP', $$ if !$todo; sleep 1; - printf "%s 11 - masked SIGINT received %s\n", - $sigint_called ? "ok" : "not ok", - # At least OpenBSD/i386 3.3 is okay, as is NetBSD 1.5. - $^O =~ /^(?:darwin|freebsd)$/ ? - "# TODO $^O seems to loose blocked signals" - : ''; + $todo = 1 if ($^O eq 'freebsd') + || ($^O eq 'darwin' && $Config{osvers} lt '6.6'); + printf "%s 11 - masked SIGINT received %s\n", + $sigint_called ? "ok" : "not ok", + $todo ? "# TODO $^O $Config{osvers} seems to loose blocked signals" + : ''; print "ok 12 - signal masks successful\n";