diff syslog.t @ 1128:bef8be8a6224

Tests: avoid reopening a receiving UDP socket in syslog tests.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 10 Feb 2017 13:55:39 +0300
parents 6620cd57a96a
children e4974af3fb12
line wrap: on
line diff
--- a/syslog.t
+++ b/syslog.t
@@ -153,6 +153,12 @@ EOF
 
 ###############################################################################
 
+my $s = IO::Socket::INET->new(
+	Proto => 'udp',
+	LocalAddr => '127.0.0.1:' . port(8084)
+)
+	or die "Can't open syslog socket: $!";
+
 parse_syslog_message('error_log', get_syslog('/e'));
 parse_syslog_message('access_log', get_syslog('/a'));
 
@@ -243,25 +249,8 @@ sub levels {
 
 sub get_syslog {
 	my ($uri) = @_;
-	my ($s);
 	my $data = '';
 
-	eval {
-		local $SIG{ALRM} = sub { die "timeout\n" };
-		local $SIG{PIPE} = sub { die "sigpipe\n" };
-		alarm(1);
-		$s = IO::Socket::INET->new(
-			Proto => 'udp',
-			LocalAddr => '127.0.0.1:' . port(8084)
-		);
-		alarm(0);
-	};
-	alarm(0);
-	if ($@) {
-		log_in("died: $@");
-		return undef;
-	}
-
 	http_get($uri);
 
 	IO::Select->new($s)->can_read(1);
@@ -270,7 +259,6 @@ sub get_syslog {
 		sysread($s, $buffer, 4096);
 		$data .= $buffer;
 	}
-	$s->close();
 	return $data;
 }