]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: (lsfd) skip if the platform doesn't permit to use ioctl(fd, SIOCGSKNS)
authorMasatake YAMATO <yamato@redhat.com>
Sat, 25 Feb 2023 17:44:49 +0000 (02:44 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Sun, 26 Feb 2023 08:27:05 +0000 (17:27 +0900)
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
tests/helpers/test_mkfds.c
tests/ts/lsfd/mkfds-netns

index 091ef7c9e78e2c2c5482e4ff89b947f85a8518d2..94fc1b34bd27cc325eed206bc12e6db7c1c7b2b6 100644 (file)
@@ -1782,7 +1782,8 @@ static void *make_netns(const struct factory *factory _U_, struct fdesc fdescs[]
 
        int ns = ioctl(sd, SIOCGSKNS);
        if (ns < 0)
-               err(EXIT_FAILURE, "failed in ioctl(SIOCGSKNS)");
+               err((errno == ENOSYS? EXIT_ENOSYS: EXIT_FAILURE),
+                   "failed in ioctl(SIOCGSKNS)");
        close(sd);
 
        if (ns != fdescs[0].fd) {
index 4248fda6818438a78ac27d80b6dd743442c1da52..71bf0d012d77bf892613b1f77fb943afb2825630 100755 (executable)
@@ -20,8 +20,8 @@ TS_DESC="netns associated with a fd"
 . "$TS_TOPDIR"/functions.sh
 ts_init "$*"
 ts_skip_nonroot
-ts_skip_qemu_user
 
+. "$TS_SELF/lsfd-functions.bash"
 ts_check_test_command "$TS_CMD_LSFD"
 ts_check_test_command "$TS_HELPER_MKFDS"
 
@@ -55,5 +55,8 @@ INO_NS=
     fi
     wait "${MKFDS_PID}"
 } > "$TS_OUTPUT" 2>&1
+if [ "$?" == "$ENOSYS" ]; then
+    ts_skip "ioctl(fd, SIOCGSKNS) is not available"
+fi
 
 ts_finalize