summaryrefslogtreecommitdiff
path: root/ext/POSIX/t/sigaction.t
diff options
context:
space:
mode:
Diffstat (limited to 'ext/POSIX/t/sigaction.t')
-rw-r--r--ext/POSIX/t/sigaction.t41
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 };