about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2022-03-23 08:54:35 +0000
committerEric Wong <e@80x24.org>2022-03-23 18:39:03 +0000
commitacefd91b302dc1bffded901c3ecd0db8f9916e9b (patch)
treedc67a37a04c85d503185f12d6c21cb19f01078a3 /t
parent215e2138c99d48e2061eb98aef5a6da1bc3ff828 (diff)
downloadpublic-inbox-acefd91b302dc1bffded901c3ecd0db8f9916e9b.tar.gz
Socket::MsgHdr is only packaged for Debian and derivatives at
the moment, and Inline::C pulling in gcc/clang is a huge amount
of disk space and bandwidth for some users.

This enables disk space and/or bandwidth-limited users to use lei.

Only Linux guarantees a stable ABI and syscall numbers, but
that's the majority of our userbase.  FreeBSD users will still
have to use Inline::C (or get Socket::MsgHdr packaged).

x86, x32, and x86-64 are all currently supported, more to be added.
Diffstat (limited to 't')
-rw-r--r--t/cmd_ipc.t13
1 files changed, 12 insertions, 1 deletions
diff --git a/t/cmd_ipc.t b/t/cmd_ipc.t
index dd90fa2a..75697a15 100644
--- a/t/cmd_ipc.t
+++ b/t/cmd_ipc.t
@@ -1,5 +1,5 @@
 #!perl -w
-# Copyright (C) 2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use v5.10.1;
@@ -142,4 +142,15 @@ SKIP: {
         }
 }
 
+SKIP: {
+        skip 'not Linux', 1 if $^O ne 'linux';
+        require_ok 'PublicInbox::Syscall';
+        $send = PublicInbox::Syscall->can('send_cmd4') or
+                skip 'send_cmd4 not defined for arch';
+        $recv = PublicInbox::Syscall->can('recv_cmd4') or
+                skip 'recv_cmd4 not defined for arch';
+        $do_test->(SOCK_STREAM, 0, 'PP Linux stream');
+        $do_test->($SOCK_SEQPACKET, MSG_EOR, 'PP Linux seqpacket');
+}
+
 done_testing;