From: Ton Voon Date: Mon, 27 Mar 2006 08:39:28 +0000 (+0000) Subject: Set timeout within nc, rather than the test script X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=7dc27490479a6fe8ffeccc834f3410bbdb2d9fd9;p=nagiosplug.git Set timeout within nc, rather than the test script git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1359 f882894a-f735-0410-b71e-b25c423dba1c --- diff --git a/plugins/t/check_udp.t b/plugins/t/check_udp.t index c9228ad..ac1a893 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" ); }