# HG changeset patch # User Sergey Kandaurov # Date 1425477190 -10800 # Node ID 42810c40ebb8f109e6d867e3b9ec9e85ce904964 # Parent 625cbbfd66b311f5856a1e20343786b7bd9cdb2f 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. diff --git a/spdy.t b/spdy.t --- 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');