1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
# vim:set ft= ts=4 sw=4 et fdm=marker:
our $SkipReason;
BEGIN {
if ($ENV{TEST_NGINX_CHECK_LEAK}) {
$SkipReason = "unavailable for the hup tests";
} elsif ($ENV{TEST_NGINX_USE_HTTP3}) {
$SkipReason = "http3 does not support hub reload";
} else {
$ENV{TEST_NGINX_USE_HUP} = 1;
undef $ENV{TEST_NGINX_USE_STAP};
}
}
use Test::Nginx::Socket::Lua $SkipReason ? (skip_all => $SkipReason) : ();
repeat_each(2);
plan tests => repeat_each() * (blocks() * 2 + 1) + 2;
no_long_string();
worker_connections(1024);
run_tests();
__DATA__
=== TEST 1: simple exit_worker_by_lua_block with hup
--- http_config
exit_worker_by_lua_block {
ngx.log(ngx.NOTICE, "log from exit_worker_by_lua_block")
}
--- config
location /t {
content_by_lua_block {
ngx.say("ok")
}
}
--- request
GET /t
--- response_body
ok
--- shutdown_error_log
log from exit_worker_by_lua_block
=== TEST 2: exit after worker_shutdown_timeout
--- main_config
worker_shutdown_timeout 1;
--- http_config
exit_worker_by_lua_block {
ngx.log(ngx.NOTICE, "log from exit_worker_by_lua_block")
}
server {
listen $TEST_NGINX_RAND_PORT_1;
location = /t {
echo 'hello world';
}
}
--- config
location /t {
content_by_lua_block {
ngx.timer.at(0, function ()
local sock = ngx.socket.tcp()
sock:connect("127.0.0.1", $TEST_NGINX_RAND_PORT_1)
local reader = sock:receiveuntil("unknow")
ngx.log(ngx.NOTICE, "reading to block the exiting")
reader()
end)
ngx.sleep(0)
ngx.say("ok")
}
}
--- request
GET /t
--- response_body
ok
--- error_log
reading to block the exiting
--- shutdown_error_log
log from exit_worker_by_lua_block
|