From 6c89cf6208dd4f5251faeec18dc76ac123335fed Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 13 Sep 2019 01:50:25 +0000 Subject: t/httpd-corner: check for leaking FDs and pipes -W0 (no workers) should not create any pipes on its own, and we shouldn't have any deleted FDs if no clients are connected. This can find if leaks which may be triggered by PublicInbox::HTTP (and not Qspawn or GitHTTPBackend). --- t/httpd-corner.t | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/t/httpd-corner.t b/t/httpd-corner.t index c72bc9c6..af838628 100644 --- a/t/httpd-corner.t +++ b/t/httpd-corner.t @@ -526,6 +526,14 @@ SKIP: { defined(my $x = getsockopt($sock, SOL_SOCKET, $var)) or die; is($x, $accf_arg, 'SO_ACCEPTFILTER unchanged if previously set'); }; +SKIP: { + use PublicInbox::Spawn qw(which); + skip 'only testing lsof(8) output on Linux', 1 if $^O ne 'linux'; + skip 'no lsof in PATH', 1 unless which('lsof'); + my @lsof = `lsof -p $pid`; + is_deeply([grep(/\bdeleted\b/, @lsof)], [], 'no lingering deleted inputs'); + is_deeply([grep(/\bpipe\b/, @lsof)], [], 'no extra pipes with -W0'); +}; done_testing(); -- cgit v1.2.3-24-ge0c7