summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaan De Meyer <daan.j.demeyer@gmail.com>2023-12-06 12:18:32 +0100
committerDaan De Meyer <daan.j.demeyer@gmail.com>2023-12-06 12:18:32 +0100
commit1500fe38b299e0ebc9bf6e259396a3bff5aed42f (patch)
tree0a1249342dfd1556b67a54d8ae60ba6d1fd40998
parentrepart: Add Minimize=best to --make-ddi= partition definitions (diff)
downloadsystemd-1500fe38b299e0ebc9bf6e259396a3bff5aed42f.tar.xz
systemd-1500fe38b299e0ebc9bf6e259396a3bff5aed42f.zip
test: Add test case for --make-ddi=sysext
Also make sure that the sysext is big enough to not fit in the minimum partition size so we know Minimize= is being used.
-rwxr-xr-xtest/units/testsuite-50.sh28
1 files changed, 26 insertions, 2 deletions
diff --git a/test/units/testsuite-50.sh b/test/units/testsuite-50.sh
index 169aa1b864..28218ab6d7 100755
--- a/test/units/testsuite-50.sh
+++ b/test/units/testsuite-50.sh
@@ -677,11 +677,35 @@ if command -v mksquashfs >/dev/null 2>&1; then
read -r X < /etc/waldo
test "$X" = foobar50
- rm /run/verity.d/test-50-cert.crt /run/confexts/waldo.confext.raw /tmp/test-50-cert.crt /tmp/test-50-privkey.key
+ rm /run/confexts/waldo.confext.raw
systemd-confext refresh
- (! test -f /tmp/test-50-confext/etc/waldo )
+ (! test -f /etc/waldo )
+
+ mkdir -p /tmp/test-50-sysext/usr/lib/extension-release.d/
+
+ # Make sure the sysext is big enough to not fit in the minimum partition size of repart so we know the
+ # Minimize= logic is working.
+ truncate --size=50M /tmp/test-50-sysext/usr/waldo
+
+ ( grep -e '^\(ID\|VERSION_ID\)=' /etc/os-release ; echo IMAGE_ID=waldo ; echo IMAGE_VERSION=7 ) > /tmp/test-50-sysext/usr/lib/extension-release.d/extension-release.waldo
+
+ mkdir -p /run/extensions
+
+ SYSTEMD_REPART_OVERRIDE_FSTYPE=squashfs systemd-repart -S -s /tmp/test-50-sysext --certificate=/tmp/test-50-cert.crt --private-key=/tmp/test-50-privkey.key /run/extensions/waldo.sysext.raw
+
+ systemd-dissect --mtree /run/extensions/waldo.sysext.raw
+
+ systemd-sysext refresh
+
+ test -f /usr/waldo
+
+ rm /run/verity.d/test-50-cert.crt /run/extensions/waldo.sysext.raw /tmp/test-50-cert.crt /tmp/test-50-privkey.key
+
+ systemd-sysext refresh
+
+ (! test -f /usr/waldo)
fi
# Sneak in a couple of expected-to-fail invocations to cover