diff --git a/test/integration-tests/TEST-10-MOUNT/meson.build b/test/integration-tests/TEST-10-MOUNT/meson.build new file mode 100644 index 0000000000..77370ce458 --- /dev/null +++ b/test/integration-tests/TEST-10-MOUNT/meson.build @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +integration_tests += [ + integration_test_template + { + 'name' : fs.name(meson.current_source_dir()), + 'vm' : true, + }, +] diff --git a/test/integration-tests/meson.build b/test/integration-tests/meson.build index 19cd5b5310..08eb724dd2 100644 --- a/test/integration-tests/meson.build +++ b/test/integration-tests/meson.build @@ -43,6 +43,7 @@ foreach dirname : [ 'TEST-07-PID1', 'TEST-08-INITRD', 'TEST-09-REBOOT', + 'TEST-10-MOUNT', 'TEST-13-NSPAWN', 'TEST-15-DROPIN', 'TEST-16-EXTEND-TIMEOUT', diff --git a/test/units/TEST-10-MOUNT.sh b/test/units/TEST-10-MOUNT.sh new file mode 100755 index 0000000000..eedbd43cd4 --- /dev/null +++ b/test/units/TEST-10-MOUNT.sh @@ -0,0 +1,161 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: LGPL-2.1-or-later +set -eux +set -o pipefail + +# shellcheck source=test/units/test-control.sh +. "$(dirname "$0")"/test-control.sh +# shellcheck source=test/units/util.sh +. "$(dirname "$0")"/util.sh + +teardown_test_dependencies() ( + set +eux + + if mountpoint /tmp/deptest; then + umount /tmp/deptest + fi + + if [[ -n "${LOOP}" ]]; then + losetup -d "${LOOP}" || : + fi + if [[ -n "${LOOP_0}" ]]; then + losetup -d "${LOOP_0}" || : + fi + if [[ -n "${LOOP_1}" ]]; then + losetup -d "${LOOP_1}" || : + fi + + rm -f /tmp/TEST-60-MOUNT-RATELIMIT-dependencies-0.img + rm -f /tmp/TEST-60-MOUNT-RATELIMIT-dependencies-1.img + + rm -f /run/systemd/system/tmp-deptest.mount + systemctl daemon-reload + + return 0 +) + +setup_loop() { + truncate -s 30m "/tmp/TEST-60-MOUNT-RATELIMIT-dependencies-${1?}.img" + sfdisk --wipe=always "/tmp/TEST-60-MOUNT-RATELIMIT-dependencies-${1?}.img" </run/systemd/system/tmp-deptest.mount </run/systemd/system/tmp-deptest.mount <