Mercurial > hg > nginx-tests
changeset 377:ba95a443ff1f
Tests: improved spdy test robustness.
Give raw_read() a little more chance to complete.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 24 Feb 2014 14:09:16 +0400 |
parents | ab2d8abea393 |
children | de2f7e86866e |
files | spdy.t |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/spdy.t Mon Feb 24 12:52:35 2014 +0400 +++ b/spdy.t Mon Feb 24 14:09:16 2014 +0400 @@ -589,10 +589,14 @@ sub spdy_read { my ($sess, %extra) = @_; - my ($skip, $length, @got); + my ($skip, $length, $buf, @got); + my $tries = 0; + my $maxtried = 3; again: - my $buf = raw_read($sess->{socket}) or return undef; + do { + $buf = raw_read($sess->{socket}); + } until (defined $buf || $tries++ >= $maxtried); for ($skip = 0; $skip < length $buf; $skip += $length + 8) { my $type = unpack("\@$skip B", $buf); @@ -607,7 +611,7 @@ push @got, $cframe{$ctype}($sess, $skip, $buf); test_fin($got[-1], $extra{all}); } - goto again if %extra && @{$extra{all}}; + goto again if %extra && @{$extra{all}} && $tries < $maxtried; return \@got; }