]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add test cases for --volatile= with -U 34258/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 5 Sep 2024 05:12:20 +0000 (14:12 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 6 Sep 2024 04:24:36 +0000 (13:24 +0900)
For issue #34254.

test/units/TEST-13-NSPAWN.nspawn.sh

index 7c21825d63cd0bcc478de9c40bad6632b9a5067b..8f16ac1a597a3ea18579b5d5b11033770b87eb5a 100755 (executable)
@@ -141,6 +141,37 @@ testcase_sanity() {
     test ! -e "$root/var/also-nope"
     test ! -e "$root/usr/nope-too"
 
+    # --volatile= with -U
+    touch "$root/usr/has-usr"
+    # volatile(=yes): rootfs is tmpfs, /usr/ from the OS tree is mounted read only
+    systemd-nspawn --directory="$root"\
+                   --volatile \
+                   -U \
+                   bash -xec 'test -e /usr/has-usr; touch /usr/read-only && exit 1; touch /nope'
+    test ! -e "$root/nope"
+    test ! -e "$root/usr/read-only"
+    systemd-nspawn --directory="$root"\
+                   --volatile=yes \
+                   -U \
+                   bash -xec 'test -e /usr/has-usr; touch /usr/read-only && exit 1; touch /nope'
+    test ! -e "$root/nope"
+    test ! -e "$root/usr/read-only"
+    # volatile=state: rootfs is read-only, /var/ is tmpfs
+    systemd-nspawn --directory="$root" \
+                   --volatile=state \
+                   -U \
+                   bash -xec 'test -e /usr/has-usr; mountpoint /var; touch /read-only && exit 1; touch /var/nope'
+    test ! -e "$root/read-only"
+    test ! -e "$root/var/nope"
+    # volatile=overlay: tmpfs overlay is mounted over rootfs
+    systemd-nspawn --directory="$root" \
+                   --volatile=overlay \
+                   -U \
+                   bash -xec 'test -e /usr/has-usr; touch /nope; touch /var/also-nope; touch /usr/nope-too'
+    test ! -e "$root/nope"
+    test ! -e "$root/var/also-nope"
+    test ! -e "$root/usr/nope-too"
+
     # --machine=, --hostname=
     systemd-nspawn --directory="$root" \
                    --machine="foo-bar.baz" \