#!perl -w
use strict;
use Test;
use Config;
BEGIN {
unless (defined $Config{sig_name}) {
print "no signals!\n";
exit 0;
}
plan tests => 6;
}
# cheesy - run pperl twice :)
for my $perl ( $^X,
'./pperl -Iblib/lib -Iblib/arch',
'./pperl' )
{
my $child = open(FOO, "$perl t/signals.plx|")
or die "can't open: $!";
my $got = <FOO>;
ok($got, "starting\n");
my @expect;
for my $sig (qw(HUP TERM)) {
kill $sig, $child;
push @expect, "Got SIG$sig\n";
# bad juju - the forked child will need some time to properly
# handle the signals. seems to be time-sensitive
sleep 1;
}
local $/;
$got = <FOO>;
close FOO
or die "error closing pipe $! $?";
ok($got, join('', sort @expect));
}
`./pperl -k t/signals.plx`
syntax highlighted by Code2HTML, v. 0.9.1