]> Sergey Matveev's repositories - public-inbox.git/commitdiff
t/cmd_ipc: allow extra errors and add diagnostics
authorEric Wong <e@80x24.org>
Mon, 27 Sep 2021 18:35:36 +0000 (13:35 -0500)
committerEric Wong <e@80x24.org>
Mon, 27 Sep 2021 21:07:40 +0000 (21:07 +0000)
Apparently, sendmsg can fail in less common ways when
network buffers are gigantic.  Add some diagnostics for
future failures, as well.

Reported-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
Link: https://public-inbox.org/meta/20210927124056.kj5okiefvs4ztk27@meerkat.local/
t/cmd_ipc.t

index c5e715a1cd8aa6fc0d3d58328ea374f87fafc79a..dd90fa2a63e401962061cece8f1450295f8beb0c 100644 (file)
@@ -85,7 +85,9 @@ my $do_test = sub { SKIP: {
                        $nsent += $n;
                        fail "sent 0 bytes" if $n == 0;
                }
-               ok($!{EAGAIN}, "hit EAGAIN on send $desc");
+               ok($!{EAGAIN} || $!{ETOOMANYREFS},
+                       "hit EAGAIN || ETOOMANYREFS on send $desc") or
+                       diag "send failed with: $!";
                ok($nsent > 0, 'sent some bytes');
 
                socketpair($s1, $s2, AF_UNIX, $type, 0) or BAIL_OUT $!;
@@ -105,8 +107,9 @@ my $do_test = sub { SKIP: {
                                diag "sent $nr, retrying with more";
                                $nr += 2 * 1024 * 1024;
                        } else {
-                               ok($!{EMSGSIZE}, 'got EMSGSIZE');
-                               # diag "$nr bytes hits EMSGSIZE";
+                               ok($!{EMSGSIZE} || $!{ENOBUFS},
+                                       'got EMSGSIZE or ENOBUFS') or
+                                       diag "$nr bytes fails with: $!";
                                last;
                        }
                }