From: Eric Wong <e@80x24.org>
Date: Thu, 2 Sep 2021 22:36:47 +0000 (+0000)
Subject: tests: "make check-run" favors reliability over speed
X-Git-Tag: v1.7.0~457
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=d369390960722fc56c86319134debe5cd7c0c7f6;p=public-inbox.git

tests: "make check-run" favors reliability over speed

Sharing a single lei-daemon across multiple processes still
exhibits reliability problems, and reliably checking
lei-daemon's inotify internals seems impossible without.

Even without lei-daemon sharing, "make check-run" is a few
seconds faster than "make check" for me.
---

diff --git a/t/run.perl b/t/run.perl
index f6eb0ad3..5082125b 100755
--- a/t/run.perl
+++ b/t/run.perl
@@ -53,10 +53,11 @@ key2sub($_) for @tests; # precache
 
 my ($for_destroy, $lei_env, $lei_daemon_pid, $owner_pid);
 
-# I get ECONNRESET from lei on FreeBSD 11.3 even with
-# kern.ipc.soacceptqueue=1073741823, so persistent lei-daemon in tests
-# is Linux-only for now:
-if ($^O eq 'linux' && !$ENV{TEST_LEI_DAEMON_PERSIST_DIR} &&
+# TEST_LEI_DAEMON_PERSIST is currently broken.  I get ECONNRESET from
+# lei even with high kern.ipc.soacceptqueue=1073741823 or SOMAXCONN, not
+# sure why.  Also, testing our internal inotify usage is unreliable
+# because lei-daemon uses a single inotify FD for all clients.
+if ($ENV{TEST_LEI_DAEMON_PERSIST} && !$ENV{TEST_LEI_DAEMON_PERSIST_DIR} &&
 		(PublicInbox::Spawn->can('recv_cmd4') ||
 			eval { require Socket::MsgHdr })) {
 	$lei_env = {};