]> Sergey Matveev's repositories - public-inbox.git/commitdiff
t/run.perl: fix "make check-run" on FreeBSD 11.x
authorEric Wong <e@80x24.org>
Mon, 16 Aug 2021 07:29:17 +0000 (07:29 +0000)
committerEric Wong <e@80x24.org>
Mon, 16 Aug 2021 20:07:51 +0000 (20:07 +0000)
Persistent lei-daemon still leads to ECONNRESET client errors on
FreeBSD, and maxing out the kern.ipc.soacceptqueue sysctl (as
documented in the FreeBSD listen(2) manpage) doesn't seem to
help.

"make check-run" is still 4-5s faster than "make check" on my
FreeBSD VM even after this change, so it's still a worthwhile
improvement.

t/run.perl

index acd60ff519356de8013788510507aaaa402a30bc..f6eb0ad31410a905f90dafd70dc2e33ec5544298 100755 (executable)
@@ -52,7 +52,11 @@ $run_log->autoflush(1); # one reader, many writers
 key2sub($_) for @tests; # precache
 
 my ($for_destroy, $lei_env, $lei_daemon_pid, $owner_pid);
-if (!$ENV{TEST_LEI_DAEMON_PERSIST_DIR} &&
+
+# 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} &&
                (PublicInbox::Spawn->can('recv_cmd4') ||
                        eval { require Socket::MsgHdr })) {
        $lei_env = {};