summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMartin Pitt <martinpitt@users.noreply.github.com>2017-08-04 14:34:14 +0200
committerEvgeny Vereshchagin <evvers@ya.ru>2017-08-04 15:34:14 +0300
commit054ee249a28194626115a23257870f257bf69fda (patch)
tree309bf895976f355f02e89277d8c91b0d2028248f /test
parenta93e2f65eb75389b10896f44c93365cefa775d9b (diff)
downloadsystemd-054ee249a28194626115a23257870f257bf69fda.tar.gz
systemd-054ee249a28194626115a23257870f257bf69fda.tar.bz2
systemd-054ee249a28194626115a23257870f257bf69fda.zip
test: Factorize common integration test functions (#6540)
All test/TEST* but TEST-02-CRYPTSETUP share the same check_result_qemu() and test_cleanup(), so move them into test_functions and only override them in TEST-02-CRYPTSETUP. Also provide a common test_run() which by default assumes that both QEMU and nspawn tests are run. Particular tests which don't support either need to explicitly opt out by setting $TEST_NO_{QEMU,NSPAWN}. Do it this way around to avoid accidentally forgetting to opt in, and to encourage test authors to at least always support nspawn.
Diffstat (limited to 'test')
-rwxr-xr-xtest/TEST-01-BASIC/test.sh34
-rwxr-xr-xtest/TEST-02-CRYPTSETUP/test.sh10
-rwxr-xr-xtest/TEST-03-JOBS/test.sh34
-rwxr-xr-xtest/TEST-04-JOURNAL/test.sh34
-rwxr-xr-xtest/TEST-05-RLIMITS/test.sh34
-rwxr-xr-xtest/TEST-06-SELINUX/test.sh30
-rwxr-xr-xtest/TEST-07-ISSUE-1981/test.sh17
-rwxr-xr-xtest/TEST-08-ISSUE-2730/test.sh31
-rwxr-xr-xtest/TEST-09-ISSUE-2691/test.sh31
-rwxr-xr-xtest/TEST-10-ISSUE-2467/test.sh30
-rwxr-xr-xtest/TEST-11-ISSUE-3166/test.sh30
-rwxr-xr-xtest/TEST-12-ISSUE-3171/test.sh16
-rwxr-xr-xtest/TEST-13-NSPAWN-SMOKE/test.sh30
-rwxr-xr-xtest/TEST-14-MACHINE-ID/test.sh30
-rwxr-xr-xtest/TEST-15-DROPIN/test.sh14
-rw-r--r--test/test-functions41
16 files changed, 52 insertions, 394 deletions
diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
index 041195dcd8..b1d6e1931b 100755
--- a/test/TEST-01-BASIC/test.sh
+++ b/test/TEST-01-BASIC/test.sh
@@ -5,34 +5,6 @@ TEST_DESCRIPTION="Basic systemd setup"
. $TEST_BASE_DIR/test-functions
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- if run_nspawn; then
- check_result_nspawn || return 1
- else
- dwarn "can't run systemd-nspawn, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -71,10 +43,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-02-CRYPTSETUP/test.sh b/test/TEST-02-CRYPTSETUP/test.sh
index aea0fc53f6..31eced5809 100755
--- a/test/TEST-02-CRYPTSETUP/test.sh
+++ b/test/TEST-02-CRYPTSETUP/test.sh
@@ -2,6 +2,7 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="cryptsetup systemd setup"
+TEST_NO_NSPAWN=1
. $TEST_BASE_DIR/test-functions
@@ -24,15 +25,6 @@ check_result_qemu() {
}
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
echo -n test >$TESTDIR/keyfile
diff --git a/test/TEST-03-JOBS/test.sh b/test/TEST-03-JOBS/test.sh
index ab0de0bfd1..a3755a7a7a 100755
--- a/test/TEST-03-JOBS/test.sh
+++ b/test/TEST-03-JOBS/test.sh
@@ -5,34 +5,6 @@ TEST_DESCRIPTION="Job-related tests"
. $TEST_BASE_DIR/test-functions
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- if run_nspawn; then
- check_result_nspawn || return 1
- else
- dwarn "can't run systemd-nspawn, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -69,10 +41,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-04-JOURNAL/test.sh b/test/TEST-04-JOURNAL/test.sh
index 3ccf113019..66fc5af3d2 100755
--- a/test/TEST-04-JOURNAL/test.sh
+++ b/test/TEST-04-JOURNAL/test.sh
@@ -5,34 +5,6 @@ TEST_DESCRIPTION="Journal-related tests"
. $TEST_BASE_DIR/test-functions
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- if run_nspawn; then
- check_result_nspawn || return 1
- else
- dwarn "can't run systemd-nspawn, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -75,10 +47,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-05-RLIMITS/test.sh b/test/TEST-05-RLIMITS/test.sh
index a5f7e8de0b..e684b6dd2d 100755
--- a/test/TEST-05-RLIMITS/test.sh
+++ b/test/TEST-05-RLIMITS/test.sh
@@ -5,34 +5,6 @@ TEST_DESCRIPTION="Resource limits-related tests"
. $TEST_BASE_DIR/test-functions
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- if run_nspawn; then
- check_result_nspawn || return 1
- else
- dwarn "can't run systemd-nspawn, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -71,10 +43,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-06-SELINUX/test.sh b/test/TEST-06-SELINUX/test.sh
index 1ae4a7c0d9..ab4bb435dc 100755
--- a/test/TEST-06-SELINUX/test.sh
+++ b/test/TEST-06-SELINUX/test.sh
@@ -2,6 +2,7 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="SELinux tests"
+TEST_NO_NSPAWN=1
# Requirements:
# Fedora 23
@@ -12,29 +13,6 @@ TEST_DESCRIPTION="SELinux tests"
SETUP_SELINUX=yes
KERNEL_APPEND="$KERNEL_APPEND selinux=1 security=selinux"
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -126,10 +104,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-07-ISSUE-1981/test.sh b/test/TEST-07-ISSUE-1981/test.sh
index 2f7f01058e..a55c691a62 100755
--- a/test/TEST-07-ISSUE-1981/test.sh
+++ b/test/TEST-07-ISSUE-1981/test.sh
@@ -2,21 +2,12 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/1981"
+TEST_NO_QEMU=1
. $TEST_BASE_DIR/test-functions
NSPAWN_TIMEOUT=30s
-test_run() {
- dwarn "skipping QEMU"
- if run_nspawn; then
- check_result_nspawn || return 1
- else
- dwarn "can't run systemd-nspawn, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -50,10 +41,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-08-ISSUE-2730/test.sh b/test/TEST-08-ISSUE-2730/test.sh
index 44831983b3..f7f34007f9 100755
--- a/test/TEST-08-ISSUE-2730/test.sh
+++ b/test/TEST-08-ISSUE-2730/test.sh
@@ -2,36 +2,13 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/2730"
+TEST_NO_NSPAWN=1
. $TEST_BASE_DIR/test-functions
SKIP_INITRD=yes
QEMU_TIMEOUT=180
FSTYPE=ext4
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- [ -n "$TIMED_OUT" ] && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -103,10 +80,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-09-ISSUE-2691/test.sh b/test/TEST-09-ISSUE-2691/test.sh
index 8ae02e61ac..1bd620a267 100755
--- a/test/TEST-09-ISSUE-2691/test.sh
+++ b/test/TEST-09-ISSUE-2691/test.sh
@@ -2,35 +2,12 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/2691"
+TEST_NO_NSPAWN=1
. $TEST_BASE_DIR/test-functions
SKIP_INITRD=yes
QEMU_TIMEOUT=90
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- [ -n "$TIMED_OUT" ] && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -71,10 +48,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-10-ISSUE-2467/test.sh b/test/TEST-10-ISSUE-2467/test.sh
index 4eca6784bc..dfc7cbe52d 100755
--- a/test/TEST-10-ISSUE-2467/test.sh
+++ b/test/TEST-10-ISSUE-2467/test.sh
@@ -2,33 +2,11 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/2467"
+TEST_NO_NSPAWN=1
. $TEST_BASE_DIR/test-functions
SKIP_INITRD=yes
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -82,10 +60,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-11-ISSUE-3166/test.sh b/test/TEST-11-ISSUE-3166/test.sh
index 0f269c8211..12bf84252b 100755
--- a/test/TEST-11-ISSUE-3166/test.sh
+++ b/test/TEST-11-ISSUE-3166/test.sh
@@ -2,33 +2,11 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/3166"
+TEST_NO_NSPAWN=1
. $TEST_BASE_DIR/test-functions
SKIP_INITRD=yes
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -85,10 +63,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-12-ISSUE-3171/test.sh b/test/TEST-12-ISSUE-3171/test.sh
index c252bdfbad..7837f639a1 100755
--- a/test/TEST-12-ISSUE-3171/test.sh
+++ b/test/TEST-12-ISSUE-3171/test.sh
@@ -2,18 +2,10 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/3171"
+TEST_NO_QEMU=1
. $TEST_BASE_DIR/test-functions
-test_run() {
- if run_nspawn; then
- check_result_nspawn || return 1
- else
- dwarn "can't run systemd-nspawn, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -100,10 +92,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-13-NSPAWN-SMOKE/test.sh b/test/TEST-13-NSPAWN-SMOKE/test.sh
index 75b99236a3..84a3af30a3 100755
--- a/test/TEST-13-NSPAWN-SMOKE/test.sh
+++ b/test/TEST-13-NSPAWN-SMOKE/test.sh
@@ -2,32 +2,10 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="systemd-nspawn smoke test"
+TEST_NO_NSPAWN=1
SKIP_INITRD=yes
. $TEST_BASE_DIR/test-functions
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -153,10 +131,4 @@ EOF
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-14-MACHINE-ID/test.sh b/test/TEST-14-MACHINE-ID/test.sh
index 35106e39d2..c406205c51 100755
--- a/test/TEST-14-MACHINE-ID/test.sh
+++ b/test/TEST-14-MACHINE-ID/test.sh
@@ -2,32 +2,10 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="Basic systemd setup"
+TEST_NO_NSPAWN=1
SKIP_INITRD=yes
. $TEST_BASE_DIR/test-functions
-check_result_qemu() {
- ret=1
- mkdir -p $TESTDIR/root
- mount ${LOOPDEV}p1 $TESTDIR/root
- [[ -e $TESTDIR/root/testok ]] && ret=0
- [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
- cp -a $TESTDIR/root/var/log/journal $TESTDIR
- umount $TESTDIR/root
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
-
-test_run() {
- if run_qemu; then
- check_result_qemu || return 1
- else
- dwarn "can't run QEMU, skipping"
- fi
- return 0
-}
-
test_setup() {
create_empty_image
mkdir -p $TESTDIR/root
@@ -110,10 +88,4 @@ chmod +x $initdir/test-machine-id-setup.sh
umount $TESTDIR/root
}
-test_cleanup() {
- umount $TESTDIR/root 2>/dev/null
- [[ $LOOPDEV ]] && losetup -d $LOOPDEV
- return 0
-}
-
do_test "$@"
diff --git a/test/TEST-15-DROPIN/test.sh b/test/TEST-15-DROPIN/test.sh
index 1b460db7b1..536b379f64 100755
--- a/test/TEST-15-DROPIN/test.sh
+++ b/test/TEST-15-DROPIN/test.sh
@@ -3,22 +3,10 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="Dropin tests"
+TEST_NO_QEMU=1
. $TEST_BASE_DIR/test-functions
-
-test_run_nspawn() {
- if ! run_nspawn; then
- dwarn "can't run systemd-nspawn, skipping"
- return 0
- fi
- check_result_nspawn
-}
-
-test_run() {
- test_run_nspawn || return
-}
-
test_setup() {
# create the basic filesystem layout
setup_basic_environment >/dev/null
diff --git a/test/test-functions b/test/test-functions
index 64926089d4..5d66b7bc5b 100644
--- a/test/test-functions
+++ b/test/test-functions
@@ -375,6 +375,22 @@ check_result_nspawn() {
return $ret
}
+# can be overridden in specific test
+check_result_qemu() {
+ ret=1
+ mkdir -p $TESTDIR/root
+ mount ${LOOPDEV}p1 $TESTDIR/root
+ [[ -e $TESTDIR/root/testok ]] && ret=0
+ [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
+ cp -a $TESTDIR/root/var/log/journal $TESTDIR
+ umount $TESTDIR/root
+ [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
+ ls -l $TESTDIR/journal/*/*.journal
+ test -s $TESTDIR/failed && ret=$(($ret+1))
+ [ -n "$TIMED_OUT" ] && ret=$(($ret+1))
+ return $ret
+}
+
strip_binaries() {
if [[ "$STRIP_BINARIES" = "no" ]]; then
ddebug "Don't strip binaries"
@@ -1360,6 +1376,31 @@ setup_suse() {
inst_simple "/usr/lib/systemd/system/haveged.service"
}
+# can be overridden in specific test
+test_cleanup() {
+ umount $TESTDIR/root 2>/dev/null || true
+ [[ $LOOPDEV ]] && losetup -d $LOOPDEV
+ return 0
+}
+
+test_run() {
+ if [ -z "$TEST_NO_QEMU" ]; then
+ if run_qemu; then
+ check_result_qemu || return 1
+ else
+ dwarn "can't run QEMU, skipping"
+ fi
+ fi
+ if [ -z "$TEST_NO_NSPAWN" ]; then
+ if run_nspawn; then
+ check_result_nspawn || return 1
+ else
+ dwarn "can't run systemd-nspawn, skipping"
+ fi
+ fi
+ return 0
+}
+
do_test() {
if [[ $UID != "0" ]]; then
echo "TEST: $TEST_DESCRIPTION [SKIPPED]: not root" >&2