From: Doug Nazar Date: Fri, 23 Apr 2021 03:26:02 +0000 (-0400) Subject: tests: Don't fail tests if IPv6 not available. X-Git-Tag: 1.19.3~495^2~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=846442c256aa0257ab62b6a24754ba1930636a01;p=platform%2Fupstream%2Fgstreamer.git tests: Don't fail tests if IPv6 not available. On computers with IPv6 disabled it shouldn't result in a test failure. Part-of: --- diff --git a/tests/check/gst/stream.c b/tests/check/gst/stream.c index 112e80f..3da4f9b 100644 --- a/tests/check/gst/stream.c +++ b/tests/check/gst/stream.c @@ -140,17 +140,29 @@ get_sockets (GstRTSPLowerTrans lower_transport, GSocketFamily socket_family) gst_object_unref (stream); } -GST_START_TEST (test_get_sockets_udp) +GST_START_TEST (test_get_sockets_udp_ipv4) { get_sockets (GST_RTSP_LOWER_TRANS_UDP, G_SOCKET_FAMILY_IPV4); +} + +GST_END_TEST; + +GST_START_TEST (test_get_sockets_udp_ipv6) +{ get_sockets (GST_RTSP_LOWER_TRANS_UDP, G_SOCKET_FAMILY_IPV6); } GST_END_TEST; -GST_START_TEST (test_get_sockets_mcast) +GST_START_TEST (test_get_sockets_mcast_ipv4) { get_sockets (GST_RTSP_LOWER_TRANS_UDP_MCAST, G_SOCKET_FAMILY_IPV4); +} + +GST_END_TEST; + +GST_START_TEST (test_get_sockets_mcast_ipv6) +{ get_sockets (GST_RTSP_LOWER_TRANS_UDP_MCAST, G_SOCKET_FAMILY_IPV6); } @@ -641,15 +653,42 @@ GST_START_TEST (test_remove_transport_twice) GST_END_TEST; +static gboolean +is_ipv6_supported (void) +{ + GError *err = NULL; + GSocket *sock; + + sock = + g_socket_new (G_SOCKET_FAMILY_IPV6, G_SOCKET_TYPE_DATAGRAM, + G_SOCKET_PROTOCOL_DEFAULT, &err); + if (sock) { + g_object_unref (sock); + return TRUE; + } + + if (!g_error_matches (err, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED)) { + GST_WARNING ("Unabled to create IPv6 socket: %s", err->message); + } + g_clear_error (&err); + + return FALSE; +} + static Suite * rtspstream_suite (void) { Suite *s = suite_create ("rtspstream"); TCase *tc = tcase_create ("general"); + gboolean have_ipv6 = is_ipv6_supported (); suite_add_tcase (s, tc); - tcase_add_test (tc, test_get_sockets_udp); - tcase_add_test (tc, test_get_sockets_mcast); + tcase_add_test (tc, test_get_sockets_udp_ipv4); + tcase_add_test (tc, test_get_sockets_mcast_ipv4); + if (have_ipv6) { + tcase_add_test (tc, test_get_sockets_udp_ipv6); + tcase_add_test (tc, test_get_sockets_mcast_ipv6); + } tcase_add_test (tc, test_allocate_udp_ports_fail); tcase_add_test (tc, test_get_multicast_address); tcase_add_test (tc, test_multicast_address_and_unicast_udp);