Merge pull request #26662 from yuwata/test-execute-network-namespace-path
test-execute: add tests for NetworkNamespacePath=
This commit is contained in:
@@ -1065,6 +1065,19 @@ static void test_exec_privatenetwork(Manager *m) {
|
||||
test(m, "exec-privatenetwork-yes-privatemounts-yes.service", status, CLD_EXITED);
|
||||
}
|
||||
|
||||
static void test_exec_networknamespacepath(Manager *m) {
|
||||
int r;
|
||||
|
||||
r = find_executable("ip", NULL);
|
||||
if (r < 0) {
|
||||
log_notice_errno(r, "Skipping %s, could not find ip binary: %m", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
test(m, "exec-networknamespacepath-privatemounts-no.service", MANAGER_IS_SYSTEM(m) ? EXIT_SUCCESS : EXIT_FAILURE, CLD_EXITED);
|
||||
test(m, "exec-networknamespacepath-privatemounts-yes.service", can_unshare ? EXIT_SUCCESS : EXIT_FAILURE, CLD_EXITED);
|
||||
}
|
||||
|
||||
static void test_exec_oomscoreadjust(Manager *m) {
|
||||
test(m, "exec-oomscoreadjust-positive.service", 0, CLD_EXITED);
|
||||
|
||||
@@ -1168,6 +1181,7 @@ static void run_tests(RuntimeScope scope, char **patterns) {
|
||||
entry(test_exec_inaccessiblepaths),
|
||||
entry(test_exec_ioschedulingclass),
|
||||
entry(test_exec_mount_apivfs),
|
||||
entry(test_exec_networknamespacepath),
|
||||
entry(test_exec_noexecpaths),
|
||||
entry(test_exec_oomscoreadjust),
|
||||
entry(test_exec_passenvironment),
|
||||
@@ -1378,11 +1392,16 @@ static int intro(void) {
|
||||
/* Create dummy network interface for testing PrivateNetwork=yes */
|
||||
(void) system("ip link add dummy-test-exec type dummy");
|
||||
|
||||
/* Create a network namespace and a dummy interface in it for NetworkNamespacePath= */
|
||||
(void) system("ip netns add test-execute-netns");
|
||||
(void) system("ip netns exec test-execute-netns ip link add dummy-test-ns type dummy");
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
static int outro(void) {
|
||||
(void) system("ip link del dummy-test-exec");
|
||||
(void) system("ip netns del test-execute-netns");
|
||||
(void) rmdir(PRIVATE_UNIT_DIR);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
Reference in New Issue
Block a user