X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fcmd_ipc.t;h=cd76d5e896d160a015e19a9f9e119bfa0ffaa188;hb=5d6724a6a024f1c8ac96a485c1682be28373dc50;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;