]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/lei.t
lei: pass FD to CWD via cmsg, use fchdir on server
[public-inbox.git] / t / lei.t
diff --git a/t/lei.t b/t/lei.t
index 6819f1829a24a67bf9e628ceef9ce6d445bbecdb..2349dca41e3dd304c426110c063b39c38b53d242 100644 (file)
--- a/t/lei.t
+++ b/t/lei.t
@@ -208,14 +208,14 @@ if ($ENV{TEST_LEI_ONESHOT}) {
 
 SKIP: { # real socket
        require_mods(qw(Cwd), my $nr = 105);
-       my $nfd = eval { require Socket::MsgHdr; 4 } // do {
+       my $nfd = eval { require Socket::MsgHdr; 5 } // do {
                require PublicInbox::Spawn;
-               PublicInbox::Spawn->can('send_cmd4') ? 4 : undef;
+               PublicInbox::Spawn->can('send_cmd4') ? 5 : undef;
        } //
        skip 'Socket::MsgHdr or Inline::C missing or unconfigured', $nr;
 
        local $ENV{XDG_RUNTIME_DIR} = "$home/xdg_run";
-       my $sock = "$ENV{XDG_RUNTIME_DIR}/lei/$nfd.sock";
+       my $sock = "$ENV{XDG_RUNTIME_DIR}/lei/$nfd.seq.sock";
 
        ok($lei->('daemon-pid'), 'daemon-pid');
        is($err, '', 'no error from daemon-pid');
@@ -237,13 +237,13 @@ SKIP: { # real socket
                kill(0, $pid) or last;
                tick();
        }
-       ok(!-S $sock, 'sock gone');
+       ok(-S $sock, 'sock still exists');
        ok(!kill(0, $pid), 'pid gone after stop');
 
        ok($lei->(qw(daemon-pid)), 'daemon-pid');
        chomp(my $new_pid = $out);
        ok(kill(0, $new_pid), 'new pid is running');
-       ok(-S $sock, 'sock exists again');
+       ok(-S $sock, 'sock still exists');
 
        for my $sig (qw(-0 -CHLD)) {
                ok($lei->('daemon-kill', $sig), "handles $sig");
@@ -260,29 +260,6 @@ SKIP: { # real socket
                like($out, qr/^usage: /, 'help output works');
                chmod 0700, $sock or BAIL_OUT "chmod 0700: $!";
        }
-       if ('oneshot on cwd gone') {
-               my $cwd = Cwd::fastcwd() or BAIL_OUT "fastcwd: $!";
-               my $d = "$home/to-be-removed";
-               my $lei_path = 'lei';
-               # we chdir, so we need an abs_path fur run_script
-               if (($ENV{TEST_RUN_MODE}//2) != 2) {
-                       $lei_path = PublicInbox::TestCommon::key2script('lei');
-                       $lei_path = Cwd::abs_path($lei_path);
-               }
-               mkdir $d or BAIL_OUT "mkdir($d) $!";
-               chdir $d or BAIL_OUT "chdir($d) $!";
-               if (rmdir($d)) {
-                       $out = $err = '';
-                       ok(run_script([$lei_path, 'help'], undef, $opt),
-                               'cwd fail, one-shot fallback works');
-               } else {
-                       $err = "rmdir=$!";
-               }
-               chdir $cwd or BAIL_OUT "chdir($cwd) $!";
-               like($err, qr/cwd\(/, 'cwd error noted');
-               like($out, qr/^usage: /, 'help output still works');
-       }
-
        unlink $sock or BAIL_OUT "unlink($sock) $!";
        for (0..100) {
                kill('CHLD', $new_pid) or last;