diff options
Diffstat (limited to 'ext/POSIX/t/sigaction.t')
-rw-r--r-- | ext/POSIX/t/sigaction.t | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/ext/POSIX/t/sigaction.t b/ext/POSIX/t/sigaction.t index 81d699d920..1d0315f094 100644 --- a/ext/POSIX/t/sigaction.t +++ b/ext/POSIX/t/sigaction.t @@ -11,7 +11,7 @@ BEGIN{ } } -use Test::More tests => 32; +use Test::More tests => 33; use strict; use vars qw/$bad $bad7 $ok10 $bad18 $ok/; @@ -19,15 +19,15 @@ use vars qw/$bad $bad7 $ok10 $bad18 $ok/; $^W=1; sub IGNORE { - $bad7=1; + ++$bad7; } sub DEFAULT { - $bad18=1; + ++$bad18; } sub foo { - $ok=1; + ++$ok; } my $newaction=POSIX::SigAction->new('::foo', new POSIX::SigSet(SIGUSR1), 0); @@ -37,11 +37,10 @@ my $oldaction=POSIX::SigAction->new('::bar', new POSIX::SigSet(), 0); my $bad; local($SIG{__WARN__})=sub { $bad=1; }; sigaction(SIGHUP, $newaction, $oldaction); - ok(!$bad, "no warnings"); + is($bad, undef, "no warnings"); } -ok($oldaction->{HANDLER} eq 'DEFAULT' || - $oldaction->{HANDLER} eq 'IGNORE', $oldaction->{HANDLER}); +like($oldaction->{HANDLER}, qr/\A(?:DEFAULT|IGNORE)\z/, '$oldaction->{HANDLER}'); is($SIG{HUP}, '::foo'); @@ -59,19 +58,19 @@ SKIP: { $newaction=POSIX::SigAction->new('IGNORE'); sigaction(SIGHUP, $newaction); kill 'HUP', $$; -ok(!$bad, "SIGHUP ignored"); +is($bad, undef, "SIGHUP ignored"); is($SIG{HUP}, 'IGNORE'); sigaction(SIGHUP, POSIX::SigAction->new('DEFAULT')); is($SIG{HUP}, 'DEFAULT'); -$newaction=POSIX::SigAction->new(sub { $ok10=1; }); +$newaction=POSIX::SigAction->new(sub { ++$ok10; }); sigaction(SIGHUP, $newaction); { local($^W)=0; kill 'HUP', $$; } -ok($ok10, "SIGHUP handler called"); +is($ok10, 1, "SIGHUP handler called"); is(ref($SIG{HUP}), 'CODE'); @@ -83,13 +82,14 @@ eval { sigaction(SIGINT, $act); }; kill 'HUP', $$; -ok($ok, "signal mask gets restored after croak"); +is($ok, 1, "signal mask gets restored after croak"); undef $ok; # Make sure the signal mask gets restored after sigaction returns early. my $x=defined sigaction(SIGKILL, $newaction, $oldaction); kill 'HUP', $$; -ok(!$x && $ok, "signal mask gets restored after early return"); +is($x, '', "signal mask gets restored after early return"); +is($ok, 1, "signal mask gets restored after early return"); $SIG{HUP}=sub {}; sigaction(SIGHUP, $newaction, $oldaction); @@ -98,22 +98,23 @@ is(ref($oldaction->{HANDLER}), 'CODE'); eval { sigaction(SIGHUP, undef, $oldaction); }; -ok(!$@, "undef for new action"); +is($@, '', "undef for new action"); eval { sigaction(SIGHUP, 0, $oldaction); }; -ok(!$@, "zero for new action"); +is($@, '', "zero for new action"); eval { sigaction(SIGHUP, bless({},'Class'), $oldaction); }; -ok($@, "any object not good as new action"); +like($@, qr/\Aaction is not of type POSIX::SigAction/, + 'any object not good as new action'); SKIP: { skip("SIGCONT not trappable in $^O", 1) if ($^O eq 'VMS'); - $newaction=POSIX::SigAction->new(sub { $ok10=1; }); + $newaction=POSIX::SigAction->new(sub { ++$ok10; }); if (eval { SIGCONT; 1 }) { sigaction(SIGCONT, POSIX::SigAction->new('DEFAULT')); { @@ -121,7 +122,7 @@ SKIP: { kill 'CONT', $$; } } - ok(!$bad18, "SIGCONT trappable"); + is($bad18, undef, "SIGCONT trappable"); } { @@ -134,7 +135,7 @@ SKIP: { sub hup21 { $hup21++ } sigaction("FOOBAR", $newaction); - ok(1, "no coredump, still alive"); + pass("no coredump, still alive"); $newaction = POSIX::SigAction->new("hup20"); sigaction("SIGHUP", $newaction); @@ -171,7 +172,7 @@ ok($oldaction->safe, "SigAction can be safe"); # And safe signal delivery must work $ok = 0; kill 'HUP', $$; -ok($ok, "safe signal delivery must work"); +is($ok, 1, "safe signal delivery must work"); SKIP: { eval 'use POSIX qw(%SIGRT SIGRTMIN SIGRTMAX); scalar %SIGRT + SIGRTMIN() + SIGRTMAX()'; @@ -179,7 +180,7 @@ SKIP: { || SIGRTMIN() < 0 || SIGRTMAX() < 0 # HP-UX 10.20 exports both as -1 || SIGRTMIN() > $Config{sig_count} # AIX 4.3.3 exports bogus 888 and 999 and skip("no SIGRT signals", 4); - ok(SIGRTMAX() > SIGRTMIN(), "SIGRTMAX > SIGRTMIN"); + cmp_ok(SIGRTMAX(), '>', SIGRTMIN(), "SIGRTMAX > SIGRTMIN"); is(scalar %SIGRT, SIGRTMAX() - SIGRTMIN() + 1, "scalar SIGRT"); my $sigrtmin; my $h = sub { $sigrtmin = 1 }; |