diff --git a/plugins/t/check_udp.t b/plugins/t/check_udp.t index c9228adc..ac1a893c 100644 --- a/plugins/t/check_udp.t +++ b/plugins/t/check_udp.t @@ -38,10 +38,11 @@ SKIP: { like ( $res->output, '/\[barbar\]/', "Output OK"); close NC; - my $pid = open(NC, "nc -l -p 3333 -u |"); # Start up a udp server listening on port 3333 - alarm(7); - sleep 1; - $SIG{ALRM} = sub { kill 'INT', $pid }; + # Start up a udp server listening on port 3333, quit after 3 seconds + # Otherwise will hang at close + my $pid = open(NC, "nc -l -p 3333 -u -w 3 testCmd( "./check_udp2 -H localhost -p 3333 -s foofoo -e barbar -t 5 -4" ); my $duration = time - $start; @@ -49,7 +50,6 @@ SKIP: { like ( $res->output, '/Socket timeout after 5 seconds/', "Timeout message"); cmp_ok( $duration, '==', 5, "Timeout exactly right"); my $read_nc = ; - # nc gets killed here - I think expects a linefeed from stdin, so doesn't exit itself close NC; cmp_ok( $read_nc, 'eq', "foofoo", "Data received correctly" ); }