# HG changeset patch # User Sergey Kandaurov # Date 1393236556 -14400 # Node ID ba95a443ff1f6efa46d96391a42e6e4b1395db96 # Parent ab2d8abea393f47dc617d02ee889b994a18e1df7 Tests: improved spdy test robustness. Give raw_read() a little more chance to complete. diff --git a/spdy.t b/spdy.t --- a/spdy.t +++ b/spdy.t @@ -589,10 +589,14 @@ sub spdy_settings { 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 @@ again: 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; }