X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fcmd_ipc.t;h=75697a1539e3e8b2b80bb4d1cfa80d685e7d57d5;hb=HEAD;hp=dd90fa2a63e401962061cece8f1450295f8beb0c;hpb=0858ae1ccf6cb55d771cdd7d3ef0cf9a933a7876;p=public-inbox.git
diff --git a/t/cmd_ipc.t b/t/cmd_ipc.t
index dd90fa2a..cd76d5e8 100644
--- a/t/cmd_ipc.t
+++ b/t/cmd_ipc.t
@@ -1,5 +1,5 @@
#!perl -w
-# Copyright (C) 2021 all contributors
+# Copyright (C) all contributors
# License: AGPL-3.0+
use strict;
use v5.10.1;
@@ -10,7 +10,6 @@ pipe(my ($r, $w)) or BAIL_OUT;
my ($send, $recv);
require_ok 'PublicInbox::Spawn';
my $SOCK_SEQPACKET = eval { Socket::SOCK_SEQPACKET() } // undef;
-use Time::HiRes qw(usleep);
my $do_test = sub { SKIP: {
my ($type, $flag, $desc) = @_;
@@ -61,7 +60,7 @@ my $do_test = sub { SKIP: {
if ($pid == 0) {
# need to loop since Perl signals are racy
# (the interpreter doesn't self-pipe)
- while (usleep(1000)) {
+ while (tick(0.01)) {
kill 'ALRM', $tgt;
}
}
@@ -142,4 +141,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;