]> git.vpit.fr Git - perl/modules/IPC-MorseSignals.git/blobdiff - t/02-sigusr.t
Importing IPC-MorseSignals-0.07.tar.gz
[perl/modules/IPC-MorseSignals.git] / t / 02-sigusr.t
index 0adb3c681f9622de00a6f8b3545651e0abe64b9f..bfe2dc29ed9f56d198b1265c9a9a958ad89bf151 100644 (file)
@@ -1,35 +1,19 @@
 #!perl -T
 
+use strict;
+use warnings;
+
 use Test::More tests => 2;
 
-use POSIX qw/SIGTERM SIGKILL EXIT_FAILURE EXIT_SUCCESS/;
+use POSIX qw/SIGUSR1 SIGUSR2/;
+
+my ($a, $b) = (0, 0);
+
+local $SIG{'USR1'} = sub { ++$a };
+local $SIG{'USR2'} = sub { ++$b };
 
-sub trysig {
- my ($n, $s) = @_;
- my $pid = fork;
- if (!defined $pid) {
-  die "$s: fork() failed : $!";
- } elsif ($pid == 0) {
-  local $SIG{$s} = sub { exit EXIT_SUCCESS };
-  1 while 1;
- }
- my $ret = EXIT_FAILURE;
- eval {
-  local $SIG{ALRM} = sub { die };
-  alarm 1;
-  kill $n, $pid;
-  waitpid $pid, 0;
-  $ret = $?;
-  alarm 0;
- };
- if ($@) {
-  kill SIGINT,  $pid;
-  kill SIGTERM, $pid;
-  kill SIGKILL, $pid;
-  die "$s: $@";
- }
- ok($ret == EXIT_SUCCESS, $s);
-}
+kill SIGUSR1 => $$;
+ok(($a == 1) && ($b == 0), 'SIGUSR1');
 
-trysig SIGUSR1, 'USR1';
-trysig SIGUSR2, 'USR2';
+kill SIGUSR2 => $$;
+ok(($a == 1) && ($b == 1), 'SIGUSR2');