On 03/12/2018 12:46 PM, Daniel P. Berrangé wrote:
On Mon, Mar 12, 2018 at 12:49:33PM +0000, Daniel P. Berrangé wrote:
From: "Daniel P. Berrange" <berra...@redhat.com>

The test-io-channel-socket.c file has some useful helper functions for
checking if a specific IP protocol is available. Other tests need to
perform similar kinds of checks to avoid running tests that will fail
due to missing IP protocols.

Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Signed-off-by: Daniel P. Berrange <berra...@redhat.com>

+    if (socket_can_bind("::1") < 0) {
+        if (errno != EADDRNOTAVAIL) {
+            return -1;
+        }
+    } else {
+        *has_ipv6 = true;
+    }

Sigh, I should have kept the new code identical to the old code,
rather than trying to improve it, as this is in fact broken. The
socket_can_bind() is mistakenly returning '0' when EADDRNOTAVAIL
is set, so we always set the has_ipv4|6 vars to true.

It needs this squashed in:

The squash makes sense; with that, you can keep the R-b I added on the series (I guess that shows I only read the code, not tried to run the testsuite with the code applied, or I might have found this too).

Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to