Mercurial > hg > nginx-tests
comparison syslog.t @ 1127:6620cd57a96a
Tests: replaced all occurrences of vec/select API with IO::Select.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 10 Feb 2017 12:41:43 +0300 |
parents | 196d33c2bb45 |
children | bef8be8a6224 |
comparison
equal
deleted
inserted
replaced
1126:65fc7a0ca418 | 1127:6620cd57a96a |
---|---|
9 | 9 |
10 use warnings; | 10 use warnings; |
11 use strict; | 11 use strict; |
12 | 12 |
13 use Test::More; | 13 use Test::More; |
14 | |
15 use IO::Select; | |
14 | 16 |
15 BEGIN { use FindBin; chdir($FindBin::Bin); } | 17 BEGIN { use FindBin; chdir($FindBin::Bin); } |
16 | 18 |
17 use lib 'lib'; | 19 use lib 'lib'; |
18 use Test::Nginx; | 20 use Test::Nginx; |
240 } | 242 } |
241 | 243 |
242 sub get_syslog { | 244 sub get_syslog { |
243 my ($uri) = @_; | 245 my ($uri) = @_; |
244 my ($s); | 246 my ($s); |
245 my $rfd = ''; | |
246 my $data = ''; | 247 my $data = ''; |
247 | 248 |
248 eval { | 249 eval { |
249 local $SIG{ALRM} = sub { die "timeout\n" }; | 250 local $SIG{ALRM} = sub { die "timeout\n" }; |
250 local $SIG{PIPE} = sub { die "sigpipe\n" }; | 251 local $SIG{PIPE} = sub { die "sigpipe\n" }; |
261 return undef; | 262 return undef; |
262 } | 263 } |
263 | 264 |
264 http_get($uri); | 265 http_get($uri); |
265 | 266 |
266 vec($rfd, fileno($s), 1) = 1; | 267 IO::Select->new($s)->can_read(1); |
267 select $rfd, undef, undef, 1; | 268 while (IO::Select->new($s)->can_read(0.1)) { |
268 while (select($rfd, undef, undef, 0.1) > 0 | |
269 && vec($rfd, fileno($s), 1)) | |
270 { | |
271 my $buffer; | 269 my $buffer; |
272 sysread($s, $buffer, 4096); | 270 sysread($s, $buffer, 4096); |
273 $data .= $buffer; | 271 $data .= $buffer; |
274 } | 272 } |
275 $s->close(); | 273 $s->close(); |