summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Vereshchagin <evvers@ya.ru>2016-06-24 19:44:18 +0300
committerGitHub <noreply@github.com>2016-06-24 19:44:18 +0300
commitd946fb596f7ed010dce6685a499e0aebef00e451 (patch)
treefcf9d56b1f966f421e639c63b41c3edc3c657817
parent6edefe0b064e57af108f56172b3dafa0be61e234 (diff)
parent7cad32bbdeed20ac0daf6049ab093db902f4a4e7 (diff)
Merge pull request #3587 from martinpitt/master
Fix some test issues
-rwxr-xr-xtest/TEST-01-BASIC/test.sh3
-rwxr-xr-xtest/TEST-03-JOBS/test.sh3
-rwxr-xr-xtest/TEST-04-JOURNAL/test.sh3
-rwxr-xr-xtest/TEST-05-RLIMITS/test.sh3
-rwxr-xr-xtest/TEST-06-SELINUX/test.sh2
-rwxr-xr-xtest/TEST-07-ISSUE-1981/test.sh6
-rwxr-xr-xtest/TEST-08-ISSUE-2730/test.sh8
-rwxr-xr-xtest/TEST-09-ISSUE-2691/test.sh8
-rwxr-xr-xtest/TEST-10-ISSUE-2467/test.sh7
-rwxr-xr-xtest/TEST-11-ISSUE-3166/test.sh7
-rwxr-xr-xtest/TEST-12-ISSUE-3171/test.sh7
-rw-r--r--test/test-functions35
12 files changed, 61 insertions, 31 deletions
diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
index 21eed9b22a..041195dcd8 100755
--- a/test/TEST-01-BASIC/test.sh
+++ b/test/TEST-01-BASIC/test.sh
@@ -25,8 +25,7 @@ test_run() {
else
dwarn "can't run QEMU, skipping"
fi
- if check_nspawn; then
- run_nspawn
+ if run_nspawn; then
check_result_nspawn || return 1
else
dwarn "can't run systemd-nspawn, skipping"
diff --git a/test/TEST-03-JOBS/test.sh b/test/TEST-03-JOBS/test.sh
index 83393435f0..ab0de0bfd1 100755
--- a/test/TEST-03-JOBS/test.sh
+++ b/test/TEST-03-JOBS/test.sh
@@ -25,8 +25,7 @@ test_run() {
else
dwarn "can't run QEMU, skipping"
fi
- if check_nspawn; then
- run_nspawn
+ if run_nspawn; then
check_result_nspawn || return 1
else
dwarn "can't run systemd-nspawn, skipping"
diff --git a/test/TEST-04-JOURNAL/test.sh b/test/TEST-04-JOURNAL/test.sh
index 1a14f76060..3ccf113019 100755
--- a/test/TEST-04-JOURNAL/test.sh
+++ b/test/TEST-04-JOURNAL/test.sh
@@ -25,8 +25,7 @@ test_run() {
else
dwarn "can't run QEMU, skipping"
fi
- if check_nspawn; then
- run_nspawn
+ if run_nspawn; then
check_result_nspawn || return 1
else
dwarn "can't run systemd-nspawn, skipping"
diff --git a/test/TEST-05-RLIMITS/test.sh b/test/TEST-05-RLIMITS/test.sh
index 6eaa0b8f34..a5f7e8de0b 100755
--- a/test/TEST-05-RLIMITS/test.sh
+++ b/test/TEST-05-RLIMITS/test.sh
@@ -25,8 +25,7 @@ test_run() {
else
dwarn "can't run QEMU, skipping"
fi
- if check_nspawn; then
- run_nspawn
+ if run_nspawn; then
check_result_nspawn || return 1
else
dwarn "can't run systemd-nspawn, skipping"
diff --git a/test/TEST-06-SELINUX/test.sh b/test/TEST-06-SELINUX/test.sh
index 4f5895be66..1ae4a7c0d9 100755
--- a/test/TEST-06-SELINUX/test.sh
+++ b/test/TEST-06-SELINUX/test.sh
@@ -10,7 +10,7 @@ TEST_DESCRIPTION="SELinux tests"
. $TEST_BASE_DIR/test-functions
SETUP_SELINUX=yes
-KERNEL_APPEND="$KERNEL_APPEND selinux=1"
+KERNEL_APPEND="$KERNEL_APPEND selinux=1 security=selinux"
check_result_qemu() {
ret=1
diff --git a/test/TEST-07-ISSUE-1981/test.sh b/test/TEST-07-ISSUE-1981/test.sh
index d97c4ec27d..2f7f01058e 100755
--- a/test/TEST-07-ISSUE-1981/test.sh
+++ b/test/TEST-07-ISSUE-1981/test.sh
@@ -5,11 +5,11 @@ TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/1981"
. $TEST_BASE_DIR/test-functions
+NSPAWN_TIMEOUT=30s
+
test_run() {
dwarn "skipping QEMU"
- if check_nspawn; then
- NSPAWN_TIMEOUT=30s
- run_nspawn
+ if run_nspawn; then
check_result_nspawn || return 1
else
dwarn "can't run systemd-nspawn, skipping"
diff --git a/test/TEST-08-ISSUE-2730/test.sh b/test/TEST-08-ISSUE-2730/test.sh
index 409140157a..44831983b3 100755
--- a/test/TEST-08-ISSUE-2730/test.sh
+++ b/test/TEST-08-ISSUE-2730/test.sh
@@ -19,12 +19,16 @@ check_result_qemu() {
[[ -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() {
- run_qemu || return 1
- check_result_qemu || return 1
+ if run_qemu; then
+ check_result_qemu || return 1
+ else
+ dwarn "can't run QEMU, skipping"
+ fi
return 0
}
diff --git a/test/TEST-09-ISSUE-2691/test.sh b/test/TEST-09-ISSUE-2691/test.sh
index e247694f01..8ae02e61ac 100755
--- a/test/TEST-09-ISSUE-2691/test.sh
+++ b/test/TEST-09-ISSUE-2691/test.sh
@@ -18,12 +18,16 @@ check_result_qemu() {
[[ -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() {
- run_qemu || return 1
- check_result_qemu || return 1
+ if run_qemu; then
+ check_result_qemu || return 1
+ else
+ dwarn "can't run QEMU, skipping"
+ fi
return 0
}
diff --git a/test/TEST-10-ISSUE-2467/test.sh b/test/TEST-10-ISSUE-2467/test.sh
index a652b0d812..4eca6784bc 100755
--- a/test/TEST-10-ISSUE-2467/test.sh
+++ b/test/TEST-10-ISSUE-2467/test.sh
@@ -21,8 +21,11 @@ check_result_qemu() {
}
test_run() {
- run_qemu || return 1
- check_result_qemu || return 1
+ if run_qemu; then
+ check_result_qemu || return 1
+ else
+ dwarn "can't run QEMU, skipping"
+ fi
return 0
}
diff --git a/test/TEST-11-ISSUE-3166/test.sh b/test/TEST-11-ISSUE-3166/test.sh
index 7913537e9b..0f269c8211 100755
--- a/test/TEST-11-ISSUE-3166/test.sh
+++ b/test/TEST-11-ISSUE-3166/test.sh
@@ -21,8 +21,11 @@ check_result_qemu() {
}
test_run() {
- run_qemu || return 1
- check_result_qemu || return 1
+ if run_qemu; then
+ check_result_qemu || return 1
+ else
+ dwarn "can't run QEMU, skipping"
+ fi
return 0
}
diff --git a/test/TEST-12-ISSUE-3171/test.sh b/test/TEST-12-ISSUE-3171/test.sh
index 925dcad9ea..e20f470143 100755
--- a/test/TEST-12-ISSUE-3171/test.sh
+++ b/test/TEST-12-ISSUE-3171/test.sh
@@ -6,8 +6,11 @@ TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/3171"
. $TEST_BASE_DIR/test-functions
test_run() {
- run_nspawn || return 1
- check_result_nspawn || return 1
+ if run_nspawn; then
+ check_result_nspawn || return 1
+ else
+ dwarn "can't run systemd-nspawn, skipping"
+ fi
return 0
}
diff --git a/test/test-functions b/test/test-functions
index 5f95a8129e..4583c02f97 100644
--- a/test/test-functions
+++ b/test/test-functions
@@ -9,6 +9,7 @@ KERNEL_VER=${KERNEL_VER-$(uname -r)}
KERNEL_MODS="/lib/modules/$KERNEL_VER/"
QEMU_TIMEOUT="${QEMU_TIMEOUT:-infinity}"
NSPAWN_TIMEOUT="${NSPAWN_TIMEOUT:-infinity}"
+TIMED_OUT= # will be 1 after run_* if *_TIMEOUT is set and test timed out
FSTYPE="${FSTYPE:-ext3}"
UNIFIED_CGROUP_HIERARCHY="${UNIFIED_CGROUP_HIERARCHY:-no}"
@@ -46,6 +47,8 @@ function find_qemu_bin() {
fi
}
+# Return 0 if QEMU did run (then you must check the result state/logs for actual
+# success), or 1 if QEMU is not available.
run_qemu() {
if [ -f /etc/machine-id ]; then
read MACHINE_ID < /etc/machine-id
@@ -94,11 +97,22 @@ $KERNEL_APPEND \
if [[ "$QEMU_TIMEOUT" != "infinity" ]]; then
QEMU_BIN="timeout --foreground $QEMU_TIMEOUT $QEMU_BIN"
fi
- ( set -x
- $QEMU_BIN $QEMU_OPTIONS -append "$KERNEL_APPEND" ) || return 1
+ (set -x; $QEMU_BIN $QEMU_OPTIONS -append "$KERNEL_APPEND")
+ rc=$?
+ if [ "$rc" = 124 ] && [ "$QEMU_TIMEOUT" != "infinity" ]; then
+ derror "test timed out after $QEMU_TIMEOUT s"
+ TIMED_OUT=1
+ else
+ [ "$rc" != 0 ] && derror "QEMU failed with exit code $rc"
+ fi
+ return 0
}
+# Return 0 if nspawn did run (then you must check the result state/logs for actual
+# success), or 1 if nspawn is not available.
run_nspawn() {
+ [[ -d /run/systemd/system ]] || return 1
+
local _nspawn_cmd="../../systemd-nspawn --register=no --kill-signal=SIGKILL --directory=$TESTDIR/nspawn-root $ROOTLIBDIR/systemd $KERNEL_APPEND"
if [[ "$NSPAWN_TIMEOUT" != "infinity" ]]; then
_nspawn_cmd="timeout --foreground $NSPAWN_TIMEOUT $_nspawn_cmd"
@@ -106,8 +120,15 @@ run_nspawn() {
_nspawn_cmd="env UNIFIED_CGROUP_HIERARCHY=$UNIFIED_CGROUP_HIERARCHY $_nspawn_cmd"
- set -x
- $_nspawn_cmd
+ (set -x; $_nspawn_cmd)
+ rc=$?
+ if [ "$rc" = 124 ] && [ "$NSPAWN_TIMEOUT" != "infinity" ]; then
+ derror "test timed out after $NSPAWN_TIMEOUT s"
+ TIMED_OUT=1
+ else
+ [ "$rc" != 0 ] && derror "nspawn failed with exit code $rc"
+ fi
+ return 0
}
setup_basic_environment() {
@@ -290,6 +311,7 @@ check_result_nspawn() {
[[ -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
}
@@ -1266,11 +1288,6 @@ inst_libdir_file() {
fi
}
-check_nspawn() {
- [[ -d /run/systemd/system ]]
-}
-
-
do_test() {
if [[ $UID != "0" ]]; then
echo "TEST: $TEST_DESCRIPTION [SKIPPED]: not root" >&2