Merge pull request #3587 from martinpitt/master

Fix some test issues
This commit is contained in:
Evgeny Vereshchagin 2016-06-24 19:44:18 +03:00 committed by GitHub
commit d946fb596f
12 changed files with 61 additions and 31 deletions

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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

View file

@ -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"

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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