user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* [PATCH] t/httpd-corner: check for leaking FDs and pipes
@ 2019-09-13  1:50 Eric Wong
  0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2019-09-13  1:50 UTC (permalink / raw)
  To: meta

-W0 (no workers) should not create any pipes on its own,
and we shouldn't have any deleted FDs if no clients are

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');

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-09-13  1:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-13  1:50 [PATCH] t/httpd-corner: check for leaking FDs and pipes Eric Wong

Code repositories for project(s) associated with this public inbox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).