changeset 529:42810c40ebb8

Tests: removed races from SPDY tests with consecutive streams. Some tests expect that such streams are processed in sequence. Ensure that the first stream is processed before creating a subsequent stream.
author Sergey Kandaurov <pluknet@nginx.com>
date Wed, 04 Mar 2015 16:53:10 +0300
parents 625cbbfd66b3
children a61571a5f8df
files spdy.t
diffstat 1 files changed, 16 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/spdy.t
+++ b/spdy.t
@@ -501,11 +501,10 @@ is($frame->{data}, 7, 'priority 7');
 
 $sess = new_session();
 $sid1 = spdy_stream($sess, { path => '/t1.html', prio => 7 });
+spdy_read($sess, all => [{ sid => $sid1, length => 2**16 }]);
+
 $sid2 = spdy_stream($sess, { path => '/t2.html', prio => 0 });
-spdy_read($sess, all => [
-	{ sid => $sid1, length => 2**16 },
-	{ sid => $sid2, fin => 0 }
-]);
+spdy_read($sess, all => [{ sid => $sid2, fin => 0 }]);
 
 spdy_window($sess, 2**17, $sid1);
 spdy_window($sess, 2**17, $sid2);
@@ -523,11 +522,10 @@ is(join (' ', map { $_->{sid} } @data), 
 
 $sess = new_session();
 $sid1 = spdy_stream($sess, { path => '/t1.html', prio => 0 });
+spdy_read($sess, all => [{ sid => $sid1, length => 2**16 }]);
+
 $sid2 = spdy_stream($sess, { path => '/t2.html', prio => 7 });
-spdy_read($sess, all => [
-	{ sid => $sid1, length => 2**16 },
-	{ sid => $sid2, fin => 0 }
-]);
+spdy_read($sess, all => [{ sid => $sid2, fin => 0 }]);
 
 spdy_window($sess, 2**17, $sid1);
 spdy_window($sess, 2**17, $sid2);
@@ -545,16 +543,16 @@ is(join (' ', map { $_->{sid} } @data), 
 
 $sess = new_session();
 spdy_settings($sess, 7 => 1);
+
 $sid1 = spdy_stream($sess, { path => '/t3.html' });
-$sid2 = spdy_stream($sess, { path => '/t3.html' });
-$frames = spdy_read($sess, all => [
-	{ sid => $sid1, fin => 0 },
-	{ sid => $sid2, fin => 0 }
-]);
+$frames = spdy_read($sess, all => [{ sid => $sid1, fin => 0 }]);
 
 ($frame) = grep { $_->{type} eq "SYN_REPLY" && $_->{sid} == $sid1 } @$frames;
 is($frame->{headers}->{':status'}, 200, 'conn_limit 1');
 
+$sid2 = spdy_stream($sess, { path => '/t3.html' });
+$frames = spdy_read($sess, all => [{ sid => $sid2, fin => 0 }]);
+
 ($frame) = grep { $_->{type} eq "SYN_REPLY" && $_->{sid} == $sid2 } @$frames;
 is($frame->{headers}->{':status'}, 503, 'conn_limit 2');
 
@@ -569,17 +567,17 @@ spdy_read($sess, all => [
 
 $sess = new_session();
 spdy_settings($sess, 7 => 1);
+
 $sid1 = spdy_stream($sess, { path => '/t3.html' });
+$frames = spdy_read($sess, all => [{ sid => $sid1, fin => 0 }]);
 spdy_rst($sess, $sid1, 5);
-$sid2 = spdy_stream($sess, { path => '/t3.html' });
-$frames = spdy_read($sess, all => [
-	{ sid => $sid1, fin => 0 },
-	{ sid => $sid2, fin => 0 }
-]);
 
 ($frame) = grep { $_->{type} eq "SYN_REPLY" && $_->{sid} == $sid1 } @$frames;
 is($frame->{headers}->{':status'}, 200, 'RST_STREAM 1');
 
+$sid2 = spdy_stream($sess, { path => '/t3.html' });
+$frames = spdy_read($sess, all => [{ sid => $sid2, fin => 0 }]);
+
 ($frame) = grep { $_->{type} eq "SYN_REPLY" && $_->{sid} == $sid2 } @$frames;
 is($frame->{headers}->{':status'}, 200, 'RST_STREAM 2');