From 98aa80b262ec92b5709bc016e5778bf6bc99ca33 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Sat, 1 Feb 2014 18:13:50 +0100 Subject: [PATCH] gio/tests/socket: skip IPv6 tests on IPv6-less machines https://bugzilla.gnome.org/show_bug.cgi?id=667468 --- gio/tests/socket.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gio/tests/socket.c b/gio/tests/socket.c index 406656327..362a1f2ea 100644 --- a/gio/tests/socket.c +++ b/gio/tests/socket.c @@ -29,6 +29,8 @@ #include "gnetworkingprivate.h" +static gboolean ipv6_supported; + typedef struct { GSocket *server; GSocket *client; @@ -338,6 +340,12 @@ test_ipv4_async (void) static void test_ipv6_async (void) { + if (!ipv6_supported) + { + g_test_skip ("No support for IPv6"); + return; + } + test_ip_async (G_SOCKET_FAMILY_IPV6); } @@ -420,6 +428,12 @@ test_ipv4_sync (void) static void test_ipv6_sync (void) { + if (!ipv6_supported) + { + g_test_skip ("No support for IPv6"); + return; + } + test_ip_sync (G_SOCKET_FAMILY_IPV6); } @@ -546,6 +560,12 @@ test_ipv6_v4mapped (void) GSocketAddress *addr, *v4addr; GInetAddress *iaddr; + if (!ipv6_supported) + { + g_test_skip ("No support for IPv6"); + return; + } + data = create_server (G_SOCKET_FAMILY_IPV6, v4mapped_server_thread, TRUE); if (data == NULL) @@ -1032,8 +1052,20 @@ int main (int argc, char *argv[]) { + GSocket *sock; + g_test_init (&argc, &argv, NULL); + sock = g_socket_new (G_SOCKET_FAMILY_IPV6, + G_SOCKET_TYPE_STREAM, + G_SOCKET_PROTOCOL_DEFAULT, + NULL); + if (sock != NULL) + { + ipv6_supported = TRUE; + g_object_unref (sock); + } + g_test_add_func ("/socket/ipv4_sync", test_ipv4_sync); g_test_add_func ("/socket/ipv4_async", test_ipv4_async); g_test_add_func ("/socket/ipv6_sync", test_ipv6_sync);