Zbigniew Jędrzejewski-Szmek 437a7b
From 34421f9caaa90224108e6c322985c479a49cbef9 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 437a7b
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Zbigniew Jędrzejewski-Szmek 437a7b
Date: Mon, 27 Jul 2020 13:49:12 +0200
Zbigniew Jędrzejewski-Szmek 437a7b
Subject: [PATCH] test-fs-util: do not assume /dev is always real
Zbigniew Jędrzejewski-Szmek 437a7b
Zbigniew Jędrzejewski-Szmek 437a7b
When building in Fedora's koji, test-fs-util would fail:
Zbigniew Jędrzejewski-Szmek 437a7b
--- command ---
Zbigniew Jędrzejewski-Szmek 437a7b
10:18:29 SYSTEMD_LANGUAGE_FALLBACK_MAP='/builddir/build/BUILD/systemd-246-rc2/src/locale/language-fallback-map' PATH='/builddir/build/BUILD/systemd-246-rc2/x86_64-redhat-linux-gnu:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin' SYSTEMD_KBD_MODEL_MAP='/builddir/build/BUILD/systemd-246-rc2/src/locale/kbd-model-map' /builddir/build/BUILD/systemd-246-rc2/x86_64-redhat-linux-gnu/test-fs-util
Zbigniew Jędrzejewski-Szmek 437a7b
--- stderr ---
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_chase_symlinks */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_unlink_noerrno */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_readlink_and_make_absolute */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_var_tmp */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_dot_or_dot_dot */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_access_fd */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_touch_file */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_unlinkat_deallocate */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_fsync_directory_of_file */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_rename_noreplace */
Zbigniew Jędrzejewski-Szmek 437a7b
/* test_path_is_encrypted */
Zbigniew Jędrzejewski-Szmek 437a7b
/home encrypted: yes
Zbigniew Jędrzejewski-Szmek 437a7b
/var encrypted: yes
Zbigniew Jędrzejewski-Szmek 437a7b
/ encrypted: yes
Zbigniew Jędrzejewski-Szmek 437a7b
/proc encrypted: no
Zbigniew Jędrzejewski-Szmek 437a7b
/sys encrypted: no
Zbigniew Jędrzejewski-Szmek 437a7b
/dev encrypted: yes
Zbigniew Jędrzejewski-Szmek 437a7b
Assertion 'expect < 0 || ((r > 0) == (expect > 0))' failed at src/test/test-fs-util.c:863, function test_path_is_encrypted_one(). Aborting.
Zbigniew Jędrzejewski-Szmek 437a7b
-------
Zbigniew Jędrzejewski-Szmek 437a7b
Zbigniew Jędrzejewski-Szmek 437a7b
It seems / is encrypted, but /dev is just a normal directory.
Zbigniew Jędrzejewski-Szmek 437a7b
---
Zbigniew Jędrzejewski-Szmek 437a7b
 src/test/test-fs-util.c | 10 ++++++----
Zbigniew Jędrzejewski-Szmek 437a7b
 1 file changed, 6 insertions(+), 4 deletions(-)
Zbigniew Jędrzejewski-Szmek 437a7b
Zbigniew Jędrzejewski-Szmek 437a7b
diff --git a/src/test/test-fs-util.c b/src/test/test-fs-util.c
Zbigniew Jędrzejewski-Szmek 437a7b
index 8d9a1974b2..611057b90f 100644
Zbigniew Jędrzejewski-Szmek 437a7b
--- a/src/test/test-fs-util.c
Zbigniew Jędrzejewski-Szmek 437a7b
+++ b/src/test/test-fs-util.c
Zbigniew Jędrzejewski-Szmek 437a7b
@@ -864,14 +864,16 @@ static void test_path_is_encrypted_one(const char *p, int expect) {
Zbigniew Jędrzejewski-Szmek 437a7b
 }
Zbigniew Jędrzejewski-Szmek 437a7b
 
Zbigniew Jędrzejewski-Szmek 437a7b
 static void test_path_is_encrypted(void) {
Zbigniew Jędrzejewski-Szmek 437a7b
-        log_info("/* %s */", __func__);
Zbigniew Jędrzejewski-Szmek 437a7b
+        int booted = sd_booted();
Zbigniew Jędrzejewski-Szmek 437a7b
+
Zbigniew Jędrzejewski-Szmek 437a7b
+        log_info("/* %s (sd_booted=%d)*/", __func__, booted);
Zbigniew Jędrzejewski-Szmek 437a7b
 
Zbigniew Jędrzejewski-Szmek 437a7b
         test_path_is_encrypted_one("/home", -1);
Zbigniew Jędrzejewski-Szmek 437a7b
         test_path_is_encrypted_one("/var", -1);
Zbigniew Jędrzejewski-Szmek 437a7b
         test_path_is_encrypted_one("/", -1);
Zbigniew Jędrzejewski-Szmek 437a7b
-        test_path_is_encrypted_one("/proc", false);
Zbigniew Jędrzejewski-Szmek 437a7b
-        test_path_is_encrypted_one("/sys", false);
Zbigniew Jędrzejewski-Szmek 437a7b
-        test_path_is_encrypted_one("/dev", false);
Zbigniew Jędrzejewski-Szmek 437a7b
+        test_path_is_encrypted_one("/proc", booted > 0 ? false : -1);
Zbigniew Jędrzejewski-Szmek 437a7b
+        test_path_is_encrypted_one("/sys", booted > 0 ? false : -1);
Zbigniew Jędrzejewski-Szmek 437a7b
+        test_path_is_encrypted_one("/dev", booted > 0 ? false : -1);
Zbigniew Jędrzejewski-Szmek 437a7b
 }
Zbigniew Jędrzejewski-Szmek 437a7b
 
Zbigniew Jędrzejewski-Szmek 437a7b
 int main(int argc, char *argv[]) {