# HG changeset patch # User Sergey Kandaurov # Date 1591097427 -10800 # Node ID d7e83ce613c297ddbae3363282842f8a0ed8171a # Parent f5a3b70c0f2f553956999f845d3b9e26abbb12d5 Tests: unix sockets removal tests on master process exit. diff --git a/binary_upgrade.t b/binary_upgrade.t --- a/binary_upgrade.t +++ b/binary_upgrade.t @@ -25,15 +25,27 @@ select STDOUT; $| = 1; plan(skip_all => 'can leave orphaned process group') unless $ENV{TEST_NGINX_UNSAFE}; -my $t = Test::Nginx->new()->plan(2)->write_file_expand('nginx.conf', <<'EOF'); +my $t = Test::Nginx->new(qr/http unix/)->plan(4) + ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% events { } +http { + %%TEST_GLOBALS_HTTP%% + + server { + listen unix:%%TESTDIR%%/unix.sock; + server_name localhost; + } +} + EOF +my $d = $t->testdir(); + $t->run(); ############################################################################### @@ -44,8 +56,7 @@ ok($pid, 'master pid'); kill 'USR2', $pid; for (1 .. 30) { - last if -e $t->testdir() . '/nginx.pid' - && -e $t->testdir() . '/nginx.pid.oldbin'; + last if -e "$d/nginx.pid" && -e "$d/nginx.pid.oldbin"; select undef, undef, undef, 0.2 } @@ -53,4 +64,36 @@ isnt($t->read_file('nginx.pid'), $pid, ' kill 'QUIT', $pid; +for (1 .. 30) { + last if ! -e "$d/nginx.pid.oldbin"; + select undef, undef, undef, 0.2 +} + +ok(-e "$d/unix.sock", 'unix socket exists on old master shutdown'); + +# unix socket on new master termination + +$pid = $t->read_file('nginx.pid'); + +kill 'USR2', $pid; + +for (1 .. 30) { + last if -e "$d/nginx.pid" && -e "$d/nginx.pid.oldbin"; + select undef, undef, undef, 0.2 +} + +kill 'TERM', $t->read_file('nginx.pid'); + +for (1 .. 30) { + last if ! -e "$d/nginx.pid.oldbin"; + select undef, undef, undef, 0.2 +} + +TODO: { +$TODO = 'not yet' unless $t->has_version('1.19.1'); + +ok(-e "$d/unix.sock", 'unix socket exists on new master termination'); + +} + ############################################################################### diff --git a/geo_unix.t b/geo_unix.t --- a/geo_unix.t +++ b/geo_unix.t @@ -22,7 +22,7 @@ use Test::Nginx; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/http geo proxy unix/)->plan(5); +my $t = Test::Nginx->new()->has(qw/http geo proxy unix/)->plan(6); $t->write_file_expand('nginx.conf', <<'EOF'); @@ -100,4 +100,13 @@ like($r, qr/^X-Ranges-Addr: none/m, 'geo like(http_get('/?ip=192.0.2.1'), qr/^X-Arg: test/m, 'geo unix variable'); +$t->stop(); + +TODO: { +local $TODO = 'not yet' unless $t->has_version('1.19.1'); + +is(-e $t->testdir() . '/unix.sock', undef, 'unix socket removed'); + +} + ###############################################################################