1
0
mirror of https://github.com/systemd/systemd.git synced 2025-02-01 09:47:35 +03:00

test-fs-util: skip some tests when running in unprivileged container

This commit is contained in:
Yu Watanabe 2018-09-14 15:51:04 +09:00
parent 80f1b34442
commit 9590065f37

View File

@ -17,6 +17,7 @@
#include "strv.h"
#include "user-util.h"
#include "util.h"
#include "virt.h"
static void test_chase_symlinks(void) {
_cleanup_free_ char *result = NULL;
@ -493,6 +494,7 @@ static void test_touch_file(void) {
struct stat st;
const char *a;
usec_t test_mtime;
int r;
test_uid = geteuid() == 0 ? 65534 : getuid();
test_gid = geteuid() == 0 ? 65534 : getgid();
@ -542,7 +544,12 @@ static void test_touch_file(void) {
if (geteuid() == 0) {
a = strjoina(p, "/cdev");
assert_se(mknod(a, 0775 | S_IFCHR, makedev(0, 0)) >= 0);
r = mknod(a, 0775 | S_IFCHR, makedev(0, 0));
if (r < 0 && errno == EPERM && detect_container() > 0) {
log_notice("Running in unprivileged container? Skipping remaining tests in %s", __func__);
return;
}
assert_se(r >= 0);
assert_se(touch_file(a, false, test_mtime, test_uid, test_gid, 0640) >= 0);
assert_se(lstat(a, &st) >= 0);
assert_se(st.st_uid == test_uid);