viewvcs: handle exceptions in on_destroy cb
[public-inbox.git] / t / syscall.t
blob8f0e9efa9b8dba2357c9f840b7ec080d4900f059
1 use v5.12;
2 use autodie;
3 use Test::More;
4 use PublicInbox::Syscall;
5 use Socket qw(AF_UNIX SOCK_STREAM);
6 my $sendmsg_more = PublicInbox::Syscall->can('sendmsg_more') or
7         plan skip_all => "sendmsg syscall not defined on $^O";
8 my $writev = PublicInbox::Syscall->can('writev') or
9         plan skip_all => "writev syscall not defined on $^O";
11 socketpair(my $s1, my $s2, AF_UNIX, SOCK_STREAM, 0);
12 is $sendmsg_more->($s1, 'hello', 'world'), 10, 'sendmsg_more expected size';
13 is sysread($s2, my $buf, 11), 10, 'reader got expected size from sendmsg_more';
14 is $buf, 'helloworld', 'sendmsg_more sent expected message';
16 is $writev->($s1, 'hello', 'world'), 10, 'writev expected size';
17 is sysread($s2, $buf, 11), 10, 'reader got expected size from writev';
18 is $buf, 'helloworld', 'writev sent expected message';
20 done_testing;