# HG changeset patch # User Sergey Kandaurov # Date 1569260790 -10800 # Node ID 02412b209838d032c7fe95c0769c9d8e0a79cf66 # Parent e84a3115bfe835e403060667471c6abcc435e8fc Tests: testing worker_shutdown_timeout works with HTTP/2. A request in HTTP/2 is ensured to be finalized with worker_shutdown_timeout by testing that it is logged at least, and the status code is not set as it would on proxy_read_timeout. After the fix has been fixed in ab5cac9d3f00, the latter can be tuned to a safer value without losing in execution time. diff --git a/worker_shutdown_timeout_h2.t b/worker_shutdown_timeout_h2.t --- a/worker_shutdown_timeout_h2.t +++ b/worker_shutdown_timeout_h2.t @@ -23,7 +23,7 @@ use Test::Nginx::HTTP2; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/http http_v2 proxy/)->plan(1); +my $t = Test::Nginx->new()->has(qw/http http_v2 proxy/)->plan(2); $t->write_file_expand('nginx.conf', <<'EOF'); @@ -44,7 +44,7 @@ http { location / { proxy_pass http://127.0.0.1:8081; - proxy_read_timeout 200ms; + proxy_read_timeout 5s; } } } @@ -61,6 +61,13 @@ ok($s->new_stream(), 'new stream'); select undef, undef, undef, 0.1; $t->stop(); +TODO: { +local $TODO = 'not yet' unless $t->has_version('1.17.4'); + +like($t->read_file('access.log'), qr/ (?!504)\d{3} /, 'shutdown timeout'); + +} + $t->todo_alerts() unless $t->has_version('1.17.4'); ###############################################################################