You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
161 lines
2.9 KiB
161 lines
2.9 KiB
From 4871d0807e4add56258633d3c3452b0ee5cc8f99 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
|
Date: Wed, 7 Apr 2021 22:35:19 +0200
|
|
Subject: [PATCH] TEST-22-TMPFILES: add reproducer for bug with X
|
|
|
|
(cherry picked from commit 1672be86021b5ae8e80d095409a4fffcba7cbb75)
|
|
|
|
Related: #1944468
|
|
---
|
|
test/TEST-22-TMPFILES/test-11.sh | 141 +++++++++++++++++++++++++++++++
|
|
1 file changed, 141 insertions(+)
|
|
create mode 100755 test/TEST-22-TMPFILES/test-11.sh
|
|
|
|
diff --git a/test/TEST-22-TMPFILES/test-11.sh b/test/TEST-22-TMPFILES/test-11.sh
|
|
new file mode 100755
|
|
index 0000000000..21ef210cd1
|
|
--- /dev/null
|
|
+++ b/test/TEST-22-TMPFILES/test-11.sh
|
|
@@ -0,0 +1,141 @@
|
|
+#! /bin/bash
|
|
+
|
|
+set -e
|
|
+set -x
|
|
+
|
|
+rm -fr /tmp/x
|
|
+mkdir /tmp/x
|
|
+
|
|
+#
|
|
+# 'x'
|
|
+#
|
|
+mkdir -p /tmp/x/{1,2}
|
|
+touch /tmp/x/1/{x1,x2} /tmp/x/2/{y1,y2} /tmp/x/{z1,z2}
|
|
+
|
|
+systemd-tmpfiles --clean - <<EOF
|
|
+d /tmp/x - - - 0
|
|
+x /tmp/x/1
|
|
+EOF
|
|
+
|
|
+find /tmp/x | sort
|
|
+test -d /tmp/x/1
|
|
+test -f /tmp/x/1/x1
|
|
+test -f /tmp/x/1/x2
|
|
+test ! -d /tmp/x/2
|
|
+test ! -f /tmp/x/2/x1
|
|
+test ! -f /tmp/x/2/x2
|
|
+test ! -f /tmp/x/z1
|
|
+test ! -f /tmp/x/z2
|
|
+
|
|
+#
|
|
+# 'X'
|
|
+#
|
|
+
|
|
+mkdir -p /tmp/x/{1,2}
|
|
+touch /tmp/x/1/{x1,x2} /tmp/x/2/{y1,y2} /tmp/x/{z1,z2}
|
|
+
|
|
+systemd-tmpfiles --clean - <<EOF
|
|
+d /tmp/x - - - 0
|
|
+X /tmp/x/1
|
|
+EOF
|
|
+
|
|
+find /tmp/x | sort
|
|
+test -d /tmp/x/1
|
|
+test ! -f /tmp/x/1/x1
|
|
+test ! -f /tmp/x/1/x2
|
|
+test ! -d /tmp/x/2
|
|
+test ! -f /tmp/x/2/x1
|
|
+test ! -f /tmp/x/2/x2
|
|
+test ! -f /tmp/x/z1
|
|
+test ! -f /tmp/x/z2
|
|
+
|
|
+#
|
|
+# 'x' with glob
|
|
+#
|
|
+
|
|
+mkdir -p /tmp/x/{1,2}
|
|
+touch /tmp/x/1/{x1,x2} /tmp/x/2/{y1,y2} /tmp/x/{z1,z2}
|
|
+
|
|
+systemd-tmpfiles --clean - <<EOF
|
|
+d /tmp/x - - - 0
|
|
+x /tmp/x/[1345]
|
|
+x /tmp/x/z*
|
|
+EOF
|
|
+
|
|
+find /tmp/x | sort
|
|
+test -d /tmp/x/1
|
|
+test -f /tmp/x/1/x1
|
|
+test -f /tmp/x/1/x2
|
|
+test ! -d /tmp/x/2
|
|
+test ! -f /tmp/x/2/x1
|
|
+test ! -f /tmp/x/2/x2
|
|
+test -f /tmp/x/z1
|
|
+test -f /tmp/x/z2
|
|
+
|
|
+#
|
|
+# 'X' with glob
|
|
+#
|
|
+
|
|
+mkdir -p /tmp/x/{1,2}
|
|
+touch /tmp/x/1/{x1,x2} /tmp/x/2/{y1,y2} /tmp/x/{z1,z2}
|
|
+
|
|
+systemd-tmpfiles --clean - <<EOF
|
|
+d /tmp/x - - - 0
|
|
+X /tmp/x/[1345]
|
|
+X /tmp/x/?[12]
|
|
+EOF
|
|
+
|
|
+find /tmp/x | sort
|
|
+test -d /tmp/x/1
|
|
+test ! -f /tmp/x/1/x1
|
|
+test ! -f /tmp/x/1/x2
|
|
+test ! -d /tmp/x/2
|
|
+test ! -f /tmp/x/2/x1
|
|
+test ! -f /tmp/x/2/x2
|
|
+test -f /tmp/x/z1
|
|
+test -f /tmp/x/z2
|
|
+
|
|
+#
|
|
+# 'x' with 'r'
|
|
+#
|
|
+
|
|
+mkdir -p /tmp/x/{1,2}/a
|
|
+touch /tmp/x/1/a/{x1,x2} /tmp/x/2/a/{y1,y2}
|
|
+
|
|
+systemd-tmpfiles --clean - <<EOF
|
|
+# x/X is not supposed to influence r
|
|
+x /tmp/x/1/a
|
|
+X /tmp/x/2/a
|
|
+r /tmp/x/1
|
|
+r /tmp/x/2
|
|
+EOF
|
|
+
|
|
+find /tmp/x | sort
|
|
+test -d /tmp/x/1
|
|
+test -d /tmp/x/1/a
|
|
+test -f /tmp/x/1/a/x1
|
|
+test -f /tmp/x/1/a/x2
|
|
+test -f /tmp/x/2/a/y1
|
|
+test -f /tmp/x/2/a/y2
|
|
+
|
|
+#
|
|
+# 'x' with 'R'
|
|
+#
|
|
+
|
|
+mkdir -p /tmp/x/{1,2}/a
|
|
+touch /tmp/x/1/a/{x1,x2} /tmp/x/2/a/{y1,y2}
|
|
+
|
|
+systemd-tmpfiles --remove - <<EOF
|
|
+# X is not supposed to influence R
|
|
+X /tmp/x/1/a
|
|
+X /tmp/x/2/a
|
|
+R /tmp/x/1
|
|
+EOF
|
|
+
|
|
+find /tmp/x | sort
|
|
+test ! -d /tmp/x/1
|
|
+test ! -d /tmp/x/1/a
|
|
+test ! -f /tmp/x/1/a/x1
|
|
+test ! -f /tmp/x/1/a/x2
|
|
+test -f /tmp/x/2/a/y1
|
|
+test -f /tmp/x/2/a/y2
|