summaryrefslogtreecommitdiff
path: root/test/TEST-22-TMPFILES
diff options
context:
space:
mode:
authorFranck Bui <fbui@suse.com>2018-08-20 17:23:12 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-08-21 19:48:08 +0200
commit4dc7bfdf4f054c291ffb317963e8f8256fe2833b (patch)
tree8624901ded6659ad7ba64166779cf1f85ae11525 /test/TEST-22-TMPFILES
parent05666680160694bb85f34e1607ba8c9fb1723141 (diff)
downloadsystemd-4dc7bfdf4f054c291ffb317963e8f8256fe2833b.tar.gz
tmpfiles: use fd_get_path() even less excessively
A follow-up for commit 9d874aec451b591401d9b14cf8743b9d179159b2. This patch makes "path" parameter mandatory in fd_set_*() helpers removing the need to use fd_get_path() when NULL was passed. The caller is supposed to pass the fd anyway so assuming that it also knows the path should be safe. Actually, the only case where this was useful (or used) was when we were walking through directory trees (in item_do()). But even in those cases the paths could be constructed trivially, which is still better than relying on fd_get_path() (which is an ugly API). A very succinct test case is also added for 'z/Z' operators so the code dealing with recursive operators is tested minimally.
Diffstat (limited to 'test/TEST-22-TMPFILES')
-rwxr-xr-xtest/TEST-22-TMPFILES/test-05.sh45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/TEST-22-TMPFILES/test-05.sh b/test/TEST-22-TMPFILES/test-05.sh
new file mode 100755
index 0000000000..13c4ac80fc
--- /dev/null
+++ b/test/TEST-22-TMPFILES/test-05.sh
@@ -0,0 +1,45 @@
+#! /bin/bash
+
+set -e
+set -x
+
+rm -fr /tmp/{z,Z}
+mkdir /tmp/{z,Z}
+
+#
+# 'z'
+#
+mkdir /tmp/z/d{1,2}
+touch /tmp/z/f1 /tmp/z/d1/f11 /tmp/z/d2/f21
+
+systemd-tmpfiles --create - <<EOF
+z /tmp/z/f1 0755 daemon daemon - -
+z /tmp/z/d1 0755 daemon daemon - -
+EOF
+
+test $(stat -c %U:%G /tmp/z/f1) = "daemon:daemon"
+test $(stat -c %U:%G /tmp/z/d1) = "daemon:daemon"
+test $(stat -c %U:%G /tmp/z/d1/f11) = "root:root"
+
+systemd-tmpfiles --create - <<EOF
+z /tmp/z/d2/* 0755 daemon daemon - -
+EOF
+
+test $(stat -c %U:%G /tmp/z/d2/f21) = "daemon:daemon"
+
+#
+# 'Z'
+#
+mkdir /tmp/Z/d1 /tmp/Z/d1/d11
+touch /tmp/Z/f1 /tmp/Z/d1/f11 /tmp/Z/d1/d11/f111
+
+systemd-tmpfiles --create - <<EOF
+Z /tmp/Z/f1 0755 daemon daemon - -
+Z /tmp/Z/d1 0755 daemon daemon - -
+EOF
+
+test $(stat -c %U:%G /tmp/Z/f1) = "daemon:daemon"
+test $(stat -c %U:%G /tmp/Z/d1) = "daemon:daemon"
+test $(stat -c %U:%G /tmp/Z/d1/d11) = "daemon:daemon"
+test $(stat -c %U:%G /tmp/Z/d1/f11) = "daemon:daemon"
+test $(stat -c %U:%G /tmp/Z/d1/d11/f111) = "daemon:daemon"