Mercurial > hg > nginx-tests
changeset 1271:6ca8b38f63b6
Tests: relaxed proxy_request_buffering tests to pass on slow hosts.
Split DATA frame could be proxied in a single chunk.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 12 Jan 2018 17:23:22 +0300 |
parents | 6f0e68970b94 |
children | 01010d9021b8 |
files | h2_proxy_request_buffering.t h2_proxy_request_buffering_ssl.t |
diffstat | 2 files changed, 30 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/h2_proxy_request_buffering.t +++ b/h2_proxy_request_buffering.t @@ -156,9 +156,8 @@ is($f->{http_end}(), 200, 'chunked empty $f = get_body('/chunked'); ok($f->{headers}, 'chunked split'); -is($f->{upload}('0123456789', split => [ 14 ]), - '5' . CRLF . '01234' . CRLF . '5' . CRLF . '56789' . CRLF . - '0' . CRLF . CRLF, 'chunked split'); +is(http_content($f->{upload}('0123456789', split => [ 14 ])), + '0123456789', 'chunked split'); is($f->{http_end}(), 200, 'chunked split - response'); # unbuffered request body, chunked transfer-encoding @@ -177,6 +176,19 @@ isnt(@{$s2->read()}, 0, 'chunked abort') ############################################################################### +sub http_content { + my ($body) = @_; + my $content = ''; + + while ($body =~ /\G\x0d?\x0a?([0-9a-f]+)\x0d\x0a?/gcmsi) { + my $len = hex($1); + $content .= substr($body, pos($body), $len); + pos($body) += $len; + } + + return $content; +} + sub get_body { my ($url, %extra) = @_; my ($server, $client, $f);
--- a/h2_proxy_request_buffering_ssl.t +++ b/h2_proxy_request_buffering_ssl.t @@ -175,13 +175,25 @@ is($f->{http_end}(), 200, 'chunked empty $f = get_body('/chunked'); ok($f->{headers}, 'chunked split'); -is($f->{upload}('0123456789', split => [ 14 ]), - '5' . CRLF . '01234' . CRLF . '5' . CRLF . '56789' . CRLF . - '0' . CRLF . CRLF, 'chunked split'); +is(http_content($f->{upload}('0123456789', split => [ 14 ])), + '0123456789', 'chunked split'); is($f->{http_end}(), 200, 'chunked split - response'); ############################################################################### +sub http_content { + my ($body) = @_; + my $content = ''; + + while ($body =~ /\G\x0d?\x0a?([0-9a-f]+)\x0d\x0a?/gcmsi) { + my $len = hex($1); + $content .= substr($body, pos($body), $len); + pos($body) += $len; + } + + return $content; +} + sub get_body { my ($url, %extra) = @_; my ($server, $client, $f);