Tests: unix sockets removal tests on master process exit.
diff --git a/binary_upgrade.t b/binary_upgrade.t
index 3aedd63..a3c57d5 100644
--- a/binary_upgrade.t
+++ b/binary_upgrade.t
@@ -25,15 +25,27 @@
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 @@
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 @@
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
index 4d1a861..0e5a2ed 100644
--- a/geo_unix.t
+++ b/geo_unix.t
@@ -22,7 +22,7 @@
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(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');
+
+}
+
###############################################################################