From 326f7412b601e8d0d929026802e469bdb7fe1940 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 21 Sep 2015 11:11:10 +0000 Subject: t/nntpd.t: improve test runnability The created socket FD number may not be 3 in the test, force it to be so inside the child process. --- t/nntpd.t | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/t/nntpd.t b/t/nntpd.t index 527cfc2c..d30ed63f 100644 --- a/t/nntpd.t +++ b/t/nntpd.t @@ -44,7 +44,6 @@ my %opts = ( Listen => 1024, ); my $sock = IO::Socket::INET->new(%opts); -plan skip_all => 'sock fd!=3, cannot test nntpd integration' if fileno($sock) != 3; my $pid; END { kill 'TERM', $pid if defined $pid }; { @@ -78,8 +77,10 @@ EOF is($fl, FD_CLOEXEC, 'cloexec set by default (Perl behavior)'); $pid = fork; if ($pid == 0) { + use POSIX qw(dup2); # pretend to be systemd fcntl($sock, F_SETFD, $fl &= ~FD_CLOEXEC); + dup2(fileno($sock), 3) or die "dup2 failed: $!\n"; $ENV{LISTEN_PID} = $$; $ENV{LISTEN_FDS} = 1; exec $nntpd, "--stdout=$out", "--stderr=$err"; -- cgit v1.2.3-24-ge0c7