# HG changeset patch # User Sergey Kandaurov # Date 1460541789 -10800 # Node ID 48d27706530984eb0bdd075fcbbd3b30e02942ff # Parent 894e142ebdf8727abafa15ef324391c9586565d8 Tests: emit HTTP/2 SETTINGS acknowledgement by default. diff --git a/h2.t b/h2.t --- a/h2.t +++ b/h2.t @@ -226,11 +226,11 @@ is($frame->{sid}, 0, 'PING stream'); # timeouts -push my @sess, new_session(8089); -push @sess, new_session(8089); +push my @sess, new_session(8089, pure => 1); +push @sess, new_session(8089, pure => 1); h2_ping($sess[-1], 'SEE-THIS'); -push @sess, new_session(8090); -push @sess, new_session(8090); +push @sess, new_session(8090, pure => 1); +push @sess, new_session(8090, pure => 1); h2_ping($sess[-1], 'SEE-THIS'); select undef, undef, undef, 2.1; diff --git a/lib/Test/Nginx/HTTP2.pm b/lib/Test/Nginx/HTTP2.pm --- a/lib/Test/Nginx/HTTP2.pm +++ b/lib/Test/Nginx/HTTP2.pm @@ -456,11 +456,17 @@ sub new_session { # update windows, if any - h2_read($ctx, all => [ + my $frames = h2_read($ctx, all => [ { type => 'WINDOW_UPDATE' }, { type => 'SETTINGS'} ]); + # 6.5.3. Settings Synchronization + + if (grep { $_->{type} eq "SETTINGS" && $_->{flags} == 0 } @$frames) { + h2_settings($ctx, 1); + } + return $ctx; }