platform/tests: skip tests if "unshare(CLONE_NEWNET|CLONE_NEWNS)" fails
Inside a podman container (without `--priviledged`) we don't have
permissions for "unshare(CLONE_NEWNET|CLONE_NEWNS)".
It's not useful to fail tests in environments where they cannot run.
Skip them.
(cherry picked from commit ecdbb1ab84
)
This commit is contained in:
@@ -2563,7 +2563,20 @@ main(int argc, char **argv)
|
||||
|
||||
if (unshare(CLONE_NEWNET | CLONE_NEWNS) != 0) {
|
||||
errsv = errno;
|
||||
g_error("unshare(CLONE_NEWNET|CLONE_NEWNS) failed with %s (%d)",
|
||||
if (errsv == EPERM) {
|
||||
#ifdef REQUIRE_ROOT_TESTS
|
||||
g_print("Fail test: unshare(CLONE_NEWNET|CLONE_NEWNS) failed with %s (%d)\n",
|
||||
nm_strerror_native(errsv),
|
||||
errsv);
|
||||
return EXIT_FAILURE;
|
||||
#else
|
||||
g_print("Skipping test: unshare(CLONE_NEWNET|CLONE_NEWNS) failed with %s (%d)\n",
|
||||
nm_strerror_native(errsv),
|
||||
errsv);
|
||||
return g_test_run();
|
||||
#endif
|
||||
}
|
||||
g_error("Fail test: unshare(CLONE_NEWNET|CLONE_NEWNS) failed with %s (%d)",
|
||||
nm_strerror_native(errsv),
|
||||
errsv);
|
||||
}
|
||||
|
Reference in New Issue
Block a user