]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
TEST-50-DISSECT: test 'encrypted' and 'encryptedwithintegrity' policies
authorVitaly Kuznetsov <vkuznets@redhat.com>
Tue, 21 Oct 2025 13:23:32 +0000 (15:23 +0200)
committerVitaly Kuznetsov <vkuznets@redhat.com>
Thu, 18 Dec 2025 08:12:54 +0000 (09:12 +0100)
Test the newly introduced 'encryptedwithintegrity' image policy and verify
that it's different from 'encrypted' one.

test/units/TEST-50-DISSECT.encrypted.sh [new file with mode: 0755]

diff --git a/test/units/TEST-50-DISSECT.encrypted.sh b/test/units/TEST-50-DISSECT.encrypted.sh
new file mode 100755 (executable)
index 0000000..9d067f5
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+set -eux
+set -o pipefail
+
+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 systemd-dissect and encrypted partitions ***"
+
+tee "$defs/root.conf" <<EOF
+[Partition]
+Type=root
+Format=ext4
+Encrypt=key-file
+Integrity=off
+EOF
+
+systemd-repart --pretty=yes \
+               --definitions "$defs" \
+               --empty=create \
+               --size=100M \
+               --dry-run=no \
+               --offline=no \
+               "$imgs/encint.img"
+
+systemd-dissect --validate --image-policy "root=encrypted" "$imgs/encint.img"
+
+tee "$defs/root.conf" <<EOF
+[Partition]
+Type=root
+Format=ext4
+Encrypt=key-file
+Integrity=inline
+EOF
+
+systemd-repart --pretty=yes \
+               --definitions "$defs" \
+               --empty=create \
+               --size=100M \
+               --dry-run=no \
+               --offline=no \
+               "$imgs/encint_int.img"
+
+systemd-dissect --validate --image-policy "root=encryptedwithintegrity" "$imgs/encint_int.img"