From: Zbigniew Jędrzejewski-Szmek Date: Mon, 1 Mar 2021 10:25:45 +0000 (+0100) Subject: test-socket-util: fix test for address parsing w/o IPv6 support X-Git-Tag: v248-rc3~93^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F18828%2Fhead;p=thirdparty%2Fsystemd.git test-socket-util: fix test for address parsing w/o IPv6 support sockaddr_pretty() is the function that is ultimately called to print the address, and afaics, it'll always use 0.0.0.0 if family==AF_INET. So the test must have always been broken on systems with IPv6 support. Fixes a failure in semaphore debian autopkgtest ci: "65535" → ✓ 0 → "0.0.0.0:65535" (expect 0 / "[::]:65535") 15:15 Assertion 'streq(out, expected ?: in)' failed at src/test/test-socket-netlink.c:32, function test_socket_address_parse_one(). Aborting. 15:15 --- diff --git a/src/test/test-socket-netlink.c b/src/test/test-socket-netlink.c index 704cc01e6f3..af3ccec166f 100644 --- a/src/test/test-socket-netlink.c +++ b/src/test/test-socket-netlink.c @@ -47,7 +47,8 @@ static void test_socket_address_parse(void) { const int default_family = socket_ipv6_is_supported() ? AF_INET6 : AF_INET; - test_socket_address_parse_one("65535", 0, default_family, "[::]:65535"); + test_socket_address_parse_one("65535", 0, default_family, + default_family == AF_INET6 ? "[::]:65535": "0.0.0.0:65535"); /* The checks below will pass even if ipv6 is disabled in * kernel. The underlying glibc's inet_pton() is just a string @@ -65,7 +66,8 @@ static void test_socket_address_parse(void) { test_socket_address_parse_one("[::1]%lo%lo:1234", -EINVAL, 0, NULL); test_socket_address_parse_one("[::1]% lo:1234", -EINVAL, 0, NULL); - test_socket_address_parse_one("8888", 0, default_family, "[::]:8888"); + test_socket_address_parse_one("8888", 0, default_family, + default_family == AF_INET6 ? "[::]:8888": "0.0.0.0:8888"); test_socket_address_parse_one("[2001:0db8:0000:85a3:0000:0000:ac1f:8001]:8888", 0, AF_INET6, "[2001:db8:0:85a3::ac1f:8001]:8888"); test_socket_address_parse_one("[::1]:8888", 0, AF_INET6, NULL);