From: Daan De Meyer Date: Thu, 10 Nov 2022 11:33:02 +0000 (+0100) Subject: repart: Add Minimize= integration test X-Git-Tag: v253-rc1~527^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=14697c4156a337371b9f9691b30fd36814bddf73;p=thirdparty%2Fsystemd.git repart: Add Minimize= integration test --- diff --git a/test/TEST-58-REPART/test.sh b/test/TEST-58-REPART/test.sh index 31c5e67e6a0..1638cb2b163 100755 --- a/test/TEST-58-REPART/test.sh +++ b/test/TEST-58-REPART/test.sh @@ -3,6 +3,8 @@ set -e TEST_DESCRIPTION="test systemd-repart" +IMAGE_NAME="repart" +TEST_FORCE_NEWIMAGE=1 # shellcheck source=test/test-functions . "$TEST_BASE_DIR/test-functions" @@ -15,6 +17,7 @@ test_append_files() { fi instmods dm_verity =md generate_module_dependencies + image_install -o /sbin/mksquashfs fi } diff --git a/test/test-functions b/test/test-functions index ff0cc963ce1..18c76a69abd 100644 --- a/test/test-functions +++ b/test/test-functions @@ -1346,6 +1346,9 @@ create_empty_image() { root_size=$((4 * root_size)) data_size=$((2 * data_size)) fi + if [ "$IMAGE_NAME" = "repart" ]; then + root_size=$((root_size+=1000)) + fi echo "Setting up ${IMAGE_PUBLIC:?} (${root_size} MB)" rm -f "${IMAGE_PRIVATE:?}" "$IMAGE_PUBLIC" diff --git a/test/units/testsuite-58.sh b/test/units/testsuite-58.sh index 640b8440dc1..f726dd548bd 100755 --- a/test/units/testsuite-58.sh +++ b/test/units/testsuite-58.sh @@ -831,6 +831,58 @@ EOF losetup -d "$loop" } +test_minimize() { + local defs imgs output + + if systemd-detect-virt --quiet --container; then + echo "Skipping minimize test in container." + return + fi + + defs="$(mktemp --directory "/tmp/test-repart.XXXXXXXXXX")" + imgs="$(mktemp --directory "/var/tmp/test-repart.XXXXXXXXXX")" + # shellcheck disable=SC2064 + trap "rm -rf '$defs' '$imgs'" RETURN + + for format in ext4 vfat; do + if ! command -v "mkfs.$format" >/dev/null; then + continue + fi + + cat >"$defs/root-$format.conf" </dev/null; then + cat >"$defs/root-squashfs.conf" <= 512 and <= PAGE_SIZE, and # must be powers of 2. Which leaves exactly four different ones to test on