]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add case for repart with EncryptedVolume blank name 42889/head
authorDara Adib <daradib@ocf.berkeley.edu>
Tue, 7 Jul 2026 03:37:10 +0000 (23:37 -0400)
committerDara Adib <daradib@ocf.berkeley.edu>
Tue, 7 Jul 2026 03:37:10 +0000 (23:37 -0400)
test/units/TEST-58-REPART.sh

index 88d486ebc05502a69cd3175143c5896d14b44418..092188a0fa9560c19de03aab168793e81f0e153e 100755 (executable)
@@ -2447,6 +2447,40 @@ EOF
     losetup -d "$loop"
 }
 
+testcase_encrypted_volume_empty_name() {
+    local defs imgs
+
+    defs="$(mktemp --directory "/tmp/test-repart.defs.XXXXXXXXXX")"
+    imgs="$(mktemp --directory "/var/tmp/test-repart.imgs.XXXXXXXXXX")"
+    # shellcheck disable=SC2064
+    trap "rm -rf '$defs' '$imgs'" RETURN
+    chmod 0755 "$defs"
+
+    echo "*** testcase for EncryptedVolume= with empty volume name ***"
+
+    tee "$defs/root.conf" <<EOF
+[Partition]
+Type=linux-generic
+Format=ext4
+Encrypt=key-file
+EncryptedVolume=:none:discard
+EOF
+
+    systemd-repart --pretty=yes \
+                   --definitions "$defs" \
+                   --empty=create \
+                   --size=100M \
+                   --seed="$seed" \
+                   --dry-run=no \
+                   --offline="$OFFLINE" \
+                   --generate-crypttab="$imgs/crypttab" \
+                   "$imgs/emptyvolname.img"
+
+    # systemd-repart should fill in volume name as luks-UUID
+    grep -Eq '^luks-[0-9a-f-]{36} UUID=[0-9a-f-]{36} none discard$' \
+        "$imgs/crypttab"
+}
+
 testcase_block_device_replace() {
     if [[ "$OFFLINE" == "yes" ]]; then
         return 0