]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add create_empty_image_rootdir() to simplify testcase setup
authorDan Streetman <ddstreet@canonical.com>
Fri, 12 Jul 2019 15:47:26 +0000 (11:47 -0400)
committerDan Streetman <ddstreet@canonical.com>
Tue, 16 Jul 2019 22:05:15 +0000 (18:05 -0400)
Almost all tests were manually mounting/unmounting $TESTDIR/root
from the loopback image; this moves all that into test-functions
so the test setup functions are simplier.

Also add test_setup_cleanup() function, to cleanup what is mounted
by create_empty_image_rootdir()

32 files changed:
test/TEST-01-BASIC/test.sh
test/TEST-02-CRYPTSETUP/test.sh
test/TEST-03-JOBS/test.sh
test/TEST-04-JOURNAL/test.sh
test/TEST-05-RLIMITS/test.sh
test/TEST-06-SELINUX/test.sh
test/TEST-07-ISSUE-1981/test.sh
test/TEST-08-ISSUE-2730/test.sh
test/TEST-09-ISSUE-2691/test.sh
test/TEST-10-ISSUE-2467/test.sh
test/TEST-11-ISSUE-3166/test.sh
test/TEST-12-ISSUE-3171/test.sh
test/TEST-13-NSPAWN-SMOKE/test.sh
test/TEST-14-MACHINE-ID/test.sh
test/TEST-15-DROPIN/test.sh
test/TEST-16-EXTEND-TIMEOUT/test.sh
test/TEST-17-UDEV-WANTS/test.sh
test/TEST-18-FAILUREACTION/test.sh
test/TEST-19-DELEGATE/test.sh
test/TEST-20-MAINPIDGAMES/test.sh
test/TEST-23-TYPE-EXEC/test.sh
test/TEST-24-UNIT-TESTS/test.sh
test/TEST-25-IMPORT/test.sh
test/TEST-26-SETENV/test.sh
test/TEST-27-STDOUTFILE/test.sh
test/TEST-28-PERCENTJ-WANTEDBY/test.sh
test/TEST-29-UDEV-ID_RENAMING/test.sh
test/TEST-30-ONCLOCKCHANGE/test.sh
test/TEST-31-DEVICE-ENUMERATION/test.sh
test/TEST-32-OOMPOLICY/test.sh
test/TEST-34-DYNAMICUSERMIGRATE/test.sh
test/test-functions

index a34e2adbe263b9119f987e30c980d9429a1f4ef7..007ee7a91f6a99711ae8619bc77ff7b888ced4a4 100755 (executable)
@@ -6,9 +6,7 @@ RUN_IN_UNPRIVILEGED_CONTAINER=${RUN_IN_UNPRIVILEGED_CONTAINER:-yes}
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -31,9 +29,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 9d25e942500fb3336d7963e1c9bca9dd87f2dc07..e28cec0340b588a2ed0c251fef178598eddac182 100755 (executable)
@@ -25,13 +25,11 @@ check_result_qemu() {
 
 
 test_setup() {
-    create_empty_image
+    create_empty_image_rootdir
     echo -n test >$TESTDIR/keyfile
     cryptsetup -q luksFormat --pbkdf pbkdf2 --pbkdf-force-iterations 1000 ${LOOPDEV}p2 $TESTDIR/keyfile
     cryptsetup luksOpen ${LOOPDEV}p2 varcrypt <$TESTDIR/keyfile
     mkfs.ext4 -L var /dev/mapper/varcrypt
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
     mkdir -p $TESTDIR/root/var
     mount /dev/mapper/varcrypt $TESTDIR/root/var
 
@@ -76,20 +74,22 @@ EOF
 /dev/mapper/varcrypt    /var    ext4    defaults 0 1
 EOF
     )
+}
 
+cleanup_root_var() {
     ddebug "umount $TESTDIR/root/var"
-    umount $TESTDIR/root/var
-    cryptsetup luksClose /dev/mapper/varcrypt
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
+    mountpoint $TESTDIR/root/var && umount $TESTDIR/root/var
+    [[ -b /dev/mapper/varcrypt ]] && cryptsetup luksClose /dev/mapper/varcrypt
 }
 
 test_cleanup() {
-    [ -d $TESTDIR/root/var ] && mountpoint $TESTDIR/root/var && umount $TESTDIR/root/var
-    [[ -b /dev/mapper/varcrypt ]] && cryptsetup luksClose /dev/mapper/varcrypt
-    umount $TESTDIR/root 2>/dev/null || true
-    [[ $LOOPDEV ]] && losetup -d $LOOPDEV
-    return 0
+    cleanup_root_var
+    _test_cleanup
+}
+
+test_setup_cleanup() {
+    cleanup_root_var
+    _test_setup_cleanup
 }
 
 do_test "$@"
index 2a7df79a47868329e427303fdeb8fa9e12d70a80..b815e7cb67270b4e9ee84b6ac0991dd239a8e41d 100755 (executable)
@@ -6,9 +6,7 @@ TEST_NO_QEMU=1
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -46,9 +44,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index a5ba7c84349813cb0aa6889e06847ffa79d01816..cabc71f4ff208f5451ab25ae30f4c97bf1ed678f 100755 (executable)
@@ -5,9 +5,7 @@ TEST_DESCRIPTION="Journal-related tests"
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -48,9 +46,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 176014d270af1a7ebf789d077f126cbf23a4b639..159c1e0ea84ad7c9990fd964690f3916a29e950a 100755 (executable)
@@ -5,9 +5,7 @@ TEST_DESCRIPTION="Resource limits-related tests"
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -44,9 +42,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 5d26cb0f0a4bca756232db4d1b94590f087e5d30..4a6cf126abc1c68d8c86c55fed4bb8f6248b1be0 100755 (executable)
@@ -16,9 +16,7 @@ SETUP_SELINUX=yes
 KERNEL_APPEND="$KERNEL_APPEND selinux=1 security=selinux"
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -100,9 +98,6 @@ EOF
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.service
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.socket
     ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index e488cb4347f9bc81b28f0bd95898f8f62ecb13a6..2e4f67c5fe54955583cd7030541a1d90a5546482 100755 (executable)
@@ -8,9 +8,7 @@ TEST_NO_QEMU=1
 NSPAWN_TIMEOUT=30s
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -42,9 +40,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index d455d5d555ca134c59a49f195692f886bf8a6b5b..6c5edd4d2f1a3f42022bff2ad3fcaf55bd74daec 100755 (executable)
@@ -8,9 +8,7 @@ QEMU_TIMEOUT=180
 FSTYPE=ext4
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -72,9 +70,6 @@ EOF
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.service
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.socket
     ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index bef31cd096e2faca96c585dc1dd16dda58425a2f..9bc53d5e69450eacb17c5c758386ff28cea13ab3 100755 (executable)
@@ -7,9 +7,7 @@ TEST_NO_NSPAWN=1
 QEMU_TIMEOUT=180
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -40,9 +38,6 @@ EOF
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.service
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.socket
     ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 081d22b44d23e561eb5a5b4ac946141f9a30c7d0..bb4c0f3ac43e0a46e80355324ae3123623d3879b 100755 (executable)
@@ -5,9 +5,7 @@ TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/2467"
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -54,9 +52,6 @@ EOF
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.service
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.socket
     ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 267224c0429ec33eb06eb8ee95c2d67275bc271b..c50efb8c9b174c06c8613c62344dc75dd1beb9f9 100755 (executable)
@@ -6,9 +6,7 @@ TEST_NO_NSPAWN=1
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -65,9 +63,6 @@ EOF
         chmod 0755 $initdir/test-fail-on-restart.sh
         setup_testsuite
     )
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 08b59ae165ca5e29953d0a724d6d8ca6c66a43ed..5b1c3aa3130b4327d198bb8603b55dc4bbfae6de 100755 (executable)
@@ -6,9 +6,7 @@ TEST_NO_QEMU=1
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -93,9 +91,6 @@ EOF
     )
 
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 6a40bebbe0ce8cbc014a8392a4b02e55f24f92aa..7243959b2ec0ad1e0b5c1d0f0d2f8086773f4951 100755 (executable)
@@ -6,9 +6,7 @@ TEST_NO_NSPAWN=1
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -185,9 +183,6 @@ EOF
         chmod 0755 $initdir/test-nspawn.sh
         setup_testsuite
     )
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index c22fc7c3c060acd019e98c9a7d0bdf0542cf68a6..81e76f381f640abdb3a5e75bc65a798102e16c94 100755 (executable)
@@ -6,9 +6,7 @@ TEST_NO_NSPAWN=1
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -81,9 +79,6 @@ chmod +x $initdir/test-machine-id-setup.sh
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.service
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.socket
     ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index fab127362a3d80c2e143740c78f6824d05aaa271..47a4067276736b3e1f5811f3cab764d3320c1f2e 100755 (executable)
@@ -25,8 +25,4 @@ test_setup() {
     setup_nspawn_root
 }
 
-test_cleanup() {
-    return 0
-}
-
 do_test "$@"
index 7e6dc45f6bc7221fac9630643f5ee5b172f61638..016a877b9654d1e5c974d7c993119fdb87f13e7c 100755 (executable)
@@ -8,8 +8,6 @@ TEST_NO_QEMU=1
 
 test_setup() {
     create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -39,13 +37,6 @@ test_setup() {
     ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
 
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
-}
-
-test_cleanup() {
-    return 0
 }
 
 do_test "$@"
index 02578d33c79e305d2dc6906ecabf18153a7832a7..065fa9624fc13649dbad8ac4fe396bcc332a6760 100755 (executable)
@@ -7,9 +7,7 @@ TEST_NO_NSPAWN=1
 QEMU_TIMEOUT=300
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -39,9 +37,6 @@ EOF
 
         setup_testsuite
     )
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 0cf6391bdcd6d1fc1199c1ff77914cba8e885474..1ef43a4e7b2f475c4c3d5f83d59b1896eee770ee 100755 (executable)
@@ -6,9 +6,7 @@ TEST_DESCRIPTION="FailureAction= operation"
 QEMU_TIMEOUT=180
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -39,9 +37,6 @@ EOF
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.service
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.socket
     ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 25461af9dc4f018a132f94c2acc88e4e2682b32e..abfb6a77a27038a72700091ed4e04b5308d2f09f 100755 (executable)
@@ -8,9 +8,7 @@ QEMU_TIMEOUT=180
 UNIFIED_CGROUP_HIERARCHY=yes
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -41,9 +39,6 @@ EOF
 
         setup_testsuite
     )
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 8adaf490e2ec475534841d982d257684d6affb28..457ef6ae745beba911cf7a24b82770011015682b 100755 (executable)
@@ -5,9 +5,7 @@ TEST_DESCRIPTION="test changing main PID"
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -40,9 +38,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 68423637cea130b563e2615138e0787cd14e043c..9163f88c8226f20d1b92c15ab6b840d426c3331a 100755 (executable)
@@ -5,9 +5,7 @@ TEST_DESCRIPTION="test Type=exec"
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -40,9 +38,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 5d60b548dd50b9847196f2dba4d97d8d77a10196..f853dd1d3c097d26d02475bb91dfe7ecae8e1588 100755 (executable)
@@ -58,9 +58,7 @@ test_setup() {
         exit 1
     fi
 
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -98,9 +96,6 @@ EOF
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.service
     ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.socket
     ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 4beaa6456e762e571b2b8ff9f164e847b0756667..026c38a264f3a1094206e7a3383cabbf56e1a2fd 100755 (executable)
@@ -5,9 +5,7 @@ TEST_DESCRIPTION="test importd"
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -33,9 +31,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index b1a965aff1147347c598d19665296a1f28807baa..fc216ee5bf1a19282448b0ad4bd24940fe10dbb1 100755 (executable)
@@ -5,9 +5,7 @@ TEST_DESCRIPTION="test setenv"
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -32,9 +30,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index e78e317d6d41508e64835724c13037e2ef23c2f2..d481f1b8bfe7f57d125fcfaaf36762ad4694b59e 100755 (executable)
@@ -5,9 +5,7 @@ TEST_DESCRIPTION="test StandardOutput=file:"
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -42,9 +40,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 42db3b621dd4b3de89fff3de710aedf7bfdd9095..cc34efe074d6fcd505014af77ced7101f837cbd1 100755 (executable)
@@ -6,9 +6,7 @@ RUN_IN_UNPRIVILEGED_CONTAINER=yes
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     # Create what will eventually be our root filesystem onto an overlay
     (
@@ -58,9 +56,6 @@ EOF
         ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.service
         ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.socket
         ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 3e297492eaefbbb05e5b4c8d932aa999a29543e2..a24f98d208f2522f85357d19e96bf71421b56e63 100755 (executable)
@@ -7,9 +7,7 @@ TEST_NO_NSPAWN=1
 QEMU_TIMEOUT=300
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -39,9 +37,6 @@ EOF
 
         setup_testsuite
     )
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 47f1fff1d3d1cec6f6f071ffe4a1a8bc86a50868..98a9db800722ac8729820038907ce965f4a38f44 100755 (executable)
@@ -6,9 +6,7 @@ TEST_NO_NSPAWN=1
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -50,9 +48,6 @@ EOF
 
         setup_testsuite
     )
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 1eda377ea0f017f9cf7ed68688e5563c58b9d5cc..a8723779a569f4ba15fe07ed61fd714cc1c9b816 100755 (executable)
@@ -7,9 +7,7 @@ TEST_NO_NSPAWN=1
 QEMU_TIMEOUT=300
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -39,9 +37,6 @@ EOF
 
         setup_testsuite
     )
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index aef3db5db52def9a2247f977bc8fecc63b1c9928..17610af21d74f91cb6f089ec5106d86c06d29334 100755 (executable)
@@ -8,9 +8,7 @@ TEST_NO_NSPAWN=1
 UNIFIED_CGROUP_HIERARCHY=yes
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -42,9 +40,6 @@ EOF
 
         setup_testsuite
     )
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 5964311793ccc9fe303736ca5dfb61a8a7844610..7339d3b656ce02e35de72cb8eef5926621d00fba 100755 (executable)
@@ -5,9 +5,7 @@ TEST_DESCRIPTION="test migrating state directory from DynamicUser=1 to DynamicUs
 . $TEST_BASE_DIR/test-functions
 
 test_setup() {
-    create_empty_image
-    mkdir -p $TESTDIR/root
-    mount ${LOOPDEV}p1 $TESTDIR/root
+    create_empty_image_rootdir
 
     (
         LOG_LEVEL=5
@@ -40,9 +38,6 @@ EOF
         setup_testsuite
     )
     setup_nspawn_root
-
-    ddebug "umount $TESTDIR/root"
-    umount $TESTDIR/root
 }
 
 do_test "$@"
index 1aef07a44eb1485e7306abd7b133abe26d33c564..f652e82dd07b585c1003e46c7ecbde7d05422931 100644 (file)
@@ -557,6 +557,13 @@ EOF
     fi
 }
 
+create_empty_image_rootdir() {
+    create_empty_image
+    mkdir -p $TESTDIR/root
+    mount ${LOOPDEV}p1 $TESTDIR/root
+    TEST_SETUP_CLEANUP_ROOTDIR=1
+}
+
 check_asan_reports() {
     local ret=0
     local root="$1"
@@ -1685,11 +1692,33 @@ setup_suse() {
     inst_simple "/usr/lib/systemd/system/haveged.service"
 }
 
+_test_setup_cleanup() {
+    # only umount if create_empty_image_rootdir() was called to mount it
+    if [[ $TEST_SETUP_CLEANUP_ROOTDIR ]]; then
+        ddebug "umount $TESTDIR/root"
+        umount $TESTDIR/root
+    fi
+}
+
+# can be overridden in specific test
+test_setup_cleanup() {
+    _test_setup_cleanup
+}
+
+_test_cleanup() {
+    if mountpoint $TESTDIR/root; then
+        ddebug "umount $TESTDIR/root"
+        umount $TESTDIR/root
+    fi
+    if [[ $LOOPDEV && -b $LOOPDEV ]]; then
+        ddebug "losetup -d $LOOPDEV"
+        losetup -d $LOOPDEV
+    fi
+}
+
 # can be overridden in specific test
 test_cleanup() {
-    umount $TESTDIR/root 2>/dev/null || true
-    [[ $LOOPDEV ]] && losetup -d $LOOPDEV || true
-    return 0
+    _test_cleanup
 }
 
 test_run() {
@@ -1753,6 +1782,7 @@ do_test() {
             --setup)
                 echo "TEST SETUP: $TEST_DESCRIPTION"
                 test_setup
+                test_setup_cleanup
                 ;;
             --clean)
                 echo "TEST CLEANUP: $TEST_DESCRIPTION"
@@ -1764,7 +1794,9 @@ do_test() {
                 ret=0
                 echo -n "TEST: $TEST_DESCRIPTION ";
                 (
-                    test_setup && test_run
+                    test_setup
+                    test_setup_cleanup
+                    test_run
                     ret=$?
                     test_cleanup
                     rm -fr "$TESTDIR"