diff options
author | Xℹ Ruoyao <xry111@mengyan1223.wang> | 2021-02-16 20:49:15 +0800 |
---|---|---|
committer | Xℹ Ruoyao <xry111@mengyan1223.wang> | 2021-03-04 00:04:36 +0800 |
commit | 54c2459d560283f556e331246f64776cebd6eba6 (patch) | |
tree | b41f23fbd485e474afdc6c5b12f380c5829a42bd /src/test/test-stat-util.c | |
parent | a959cd2812ec73298ed56116f50e564ac859e467 (diff) | |
download | systemd-54c2459d560283f556e331246f64776cebd6eba6.tar.gz |
Refactor network namespace specific functions in generic helpers
Diffstat (limited to 'src/test/test-stat-util.c')
-rw-r--r-- | src/test/test-stat-util.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/test/test-stat-util.c b/src/test/test-stat-util.c index 9aca09c4de..7f03db5fa7 100644 --- a/src/test/test-stat-util.c +++ b/src/test/test-stat-util.c @@ -3,6 +3,7 @@ #include <fcntl.h> #include <linux/magic.h> #include <unistd.h> +#include <sched.h> #include "alloc-util.h" #include "fd-util.h" @@ -67,18 +68,22 @@ static void test_path_is_temporary_fs(void) { assert_se(path_is_temporary_fs("/i-dont-exist") == -ENOENT); } -static void test_fd_is_network_ns(void) { +static void test_fd_is_ns(void) { _cleanup_close_ int fd = -1; - assert_se(fd_is_network_ns(STDIN_FILENO) == 0); - assert_se(fd_is_network_ns(STDERR_FILENO) == 0); - assert_se(fd_is_network_ns(STDOUT_FILENO) == 0); + assert_se(fd_is_ns(STDIN_FILENO, CLONE_NEWNET) == 0); + assert_se(fd_is_ns(STDERR_FILENO, CLONE_NEWNET) == 0); + assert_se(fd_is_ns(STDOUT_FILENO, CLONE_NEWNET) == 0); assert_se((fd = open("/proc/self/ns/mnt", O_CLOEXEC|O_RDONLY)) >= 0); - assert_se(IN_SET(fd_is_network_ns(fd), 0, -EUCLEAN)); + assert_se(IN_SET(fd_is_ns(fd, CLONE_NEWNET), 0, -EUCLEAN)); + fd = safe_close(fd); + + assert_se((fd = open("/proc/self/ns/ipc", O_CLOEXEC|O_RDONLY)) >= 0); + assert_se(IN_SET(fd_is_ns(fd, CLONE_NEWIPC), 1, -EUCLEAN)); fd = safe_close(fd); assert_se((fd = open("/proc/self/ns/net", O_CLOEXEC|O_RDONLY)) >= 0); - assert_se(IN_SET(fd_is_network_ns(fd), 1, -EUCLEAN)); + assert_se(IN_SET(fd_is_ns(fd, CLONE_NEWNET), 1, -EUCLEAN)); } static void test_device_major_minor_valid(void) { @@ -159,7 +164,7 @@ int main(int argc, char *argv[]) { test_is_symlink(); test_path_is_fs_type(); test_path_is_temporary_fs(); - test_fd_is_network_ns(); + test_fd_is_ns(); test_device_major_minor_valid(); test_device_path_make_canonical(); |