Mercurial > hg > nginx-tests
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 Tue Mar 03 01:26:37 2015 +0300 +++ b/spdy.t Wed Mar 04 16:53:10 2015 +0300 @@ -501,11 +501,10 @@ $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 @@ $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 @@ $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 @@ $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');