From: Topi Miettinen Date: Mon, 17 Aug 2020 09:08:57 +0000 (+0300) Subject: test-fs-util: skip encrypted path test if we get EACCES X-Git-Tag: v247-rc1~425 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=209650b7200115d2cad9081cb97e22608fce41f8;p=thirdparty%2Fsystemd.git test-fs-util: skip encrypted path test if we get EACCES Unprivileged test-fs-util fails on my system since /sys/dev/block is inaccessible for unprivileged users, so let's skip encrypted path test if we get EACCES or similar. --- diff --git a/src/test/test-fs-util.c b/src/test/test-fs-util.c index dfea70ca273..1ea845dd9bd 100644 --- a/src/test/test-fs-util.c +++ b/src/test/test-fs-util.c @@ -850,11 +850,12 @@ static void test_path_is_encrypted_one(const char *p, int expect) { int r; r = path_is_encrypted(p); - if (r == -ENOENT) /* This might fail, if btrfs is used and we run in a container. In that case we - * cannot resolve the device node paths that BTRFS_IOC_DEV_INFO returns, because - * the device nodes are unlikely to exist in the container. But if we can't stat() - * them we cannot determine the dev_t of them, and thus cannot figure out if they - * are enrypted. Hence let's just ignore ENOENT here. */ + if (r == -ENOENT || ERRNO_IS_PRIVILEGE(r)) /* This might fail, if btrfs is used and we run in a + * container. In that case we cannot resolve the device node paths that + * BTRFS_IOC_DEV_INFO returns, because the device nodes are unlikely to exist in + * the container. But if we can't stat() them we cannot determine the dev_t of + * them, and thus cannot figure out if they are enrypted. Hence let's just ignore + * ENOENT here. Also skip the test if we lack privileges. */ return; assert_se(r >= 0);