From: Masatake YAMATO Date: Tue, 5 May 2026 21:19:38 +0000 (+0900) Subject: tests: (lsfd) add a function checking the availability of UDPLite socket X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ba7a7761995336098055422e9ed380577a65c37;p=thirdparty%2Futil-linux.git tests: (lsfd) add a function checking the availability of UDPLite socket Signed-off-by: Masatake YAMATO --- diff --git a/tests/helpers/test_mkfds.c b/tests/helpers/test_mkfds.c index eb601e4c3..45b5ed53f 100644 --- a/tests/helpers/test_mkfds.c +++ b/tests/helpers/test_mkfds.c @@ -1761,7 +1761,7 @@ static void *make_udp_common(const struct factory *factory, struct fdesc fdescs[ ssd = socket(family, SOCK_DGRAM, blite? IPPROTO_UDPLITE: 0); if (ssd < 0) - err(EXIT_FAILURE, + err(errno == EPROTONOSUPPORT? EXIT_EPROTONOSUPPORT: EXIT_FAILURE, "failed to make a udp socket for server"); if (setsockopt(ssd, SOL_SOCKET, @@ -1786,7 +1786,7 @@ static void *make_udp_common(const struct factory *factory, struct fdesc fdescs[ csd = socket(family, SOCK_DGRAM, blite? IPPROTO_UDPLITE: 0); if (csd < 0) { - err(EXIT_FAILURE, + err(errno == EPROTONOSUPPORT? EXIT_EPROTONOSUPPORT: EXIT_FAILURE, "failed to make a udp client socket"); } diff --git a/tests/ts/lsfd/lsfd-functions.bash b/tests/ts/lsfd/lsfd-functions.bash index 9dd605b7b..305ae9ceb 100644 --- a/tests/ts/lsfd/lsfd-functions.bash +++ b/tests/ts/lsfd/lsfd-functions.bash @@ -186,3 +186,25 @@ function lsfd_check_userns ts_failed "failed to use a AF_VSOCK socket: $msg [$err]";; esac } + +function lsfd_check_udp_lite +{ + ts_check_test_command "$TS_HELPER_MKFDS" + + local ip=$1 + if [[ "$ip" == 4 ]]; then + ip= + fi + + "$TS_HELPER_MKFDS" --dont-pause --quiet "udp$ip" 3 4 lite=1 + err=$? + + case $err in + 0) + return;; + "$EPROTONOSUPPORT") + ts_skip "no UDP-Lite available (IPv$ip)";; + *) + ts_failed "failed to use a IPPROTO_UDPLITE protocol: $msg [$err]";; + esac +}