mirror of
https://github.com/systemd/systemd.git
synced 2024-11-23 18:23:32 +08:00
test: dump a simple summary at the end of TEST-02-UNITTEST
Let's dump a list of skipped tests and logs from failed tests at the end
of TEST-02-UNITTEST to make debugging fails in CI slightly less painful.
(cherry picked from commit 2ac0e52f29
)
This commit is contained in:
parent
70f5fb2f7a
commit
4a468387ac
@ -37,12 +37,4 @@ test_append_files() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
check_result_nspawn() {
|
|
||||||
check_result_nspawn_unittests "${1}"
|
|
||||||
}
|
|
||||||
|
|
||||||
check_result_qemu() {
|
|
||||||
check_result_qemu_unittests
|
|
||||||
}
|
|
||||||
|
|
||||||
do_test "$@"
|
do_test "$@"
|
||||||
|
@ -1860,74 +1860,6 @@ check_result_qemu() {
|
|||||||
return $ret
|
return $ret
|
||||||
}
|
}
|
||||||
|
|
||||||
check_result_nspawn_unittests() {
|
|
||||||
local workspace="${1:?}"
|
|
||||||
local ret=1
|
|
||||||
|
|
||||||
[[ -e "$workspace/testok" ]] && ret=0
|
|
||||||
|
|
||||||
if [[ -s "$workspace/failed" ]]; then
|
|
||||||
ret=$((ret + 1))
|
|
||||||
echo "=== Failed test log ==="
|
|
||||||
cat "$workspace/failed"
|
|
||||||
else
|
|
||||||
if [[ -s "$workspace/skipped" ]]; then
|
|
||||||
echo "=== Skipped test log =="
|
|
||||||
cat "$workspace/skipped"
|
|
||||||
# We might have only skipped tests - that should not fail the job
|
|
||||||
ret=0
|
|
||||||
fi
|
|
||||||
if [[ -s "$workspace/testok" ]]; then
|
|
||||||
echo "=== Passed tests ==="
|
|
||||||
cat "$workspace/testok"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
get_bool "${TIMED_OUT:=}" && ret=1
|
|
||||||
check_coverage_reports "$workspace" || ret=5
|
|
||||||
|
|
||||||
save_journal "$workspace/var/log/journal" $ret
|
|
||||||
echo "${JOURNAL_LIST:-"No journals were saved"}"
|
|
||||||
|
|
||||||
_umount_dir "${initdir:?}"
|
|
||||||
|
|
||||||
return $ret
|
|
||||||
}
|
|
||||||
|
|
||||||
check_result_qemu_unittests() {
|
|
||||||
local ret=1
|
|
||||||
|
|
||||||
mount_initdir
|
|
||||||
[[ -e "${initdir:?}/testok" ]] && ret=0
|
|
||||||
|
|
||||||
if [[ -s "$initdir/failed" ]]; then
|
|
||||||
ret=$((ret + 1))
|
|
||||||
echo "=== Failed test log ==="
|
|
||||||
cat "$initdir/failed"
|
|
||||||
else
|
|
||||||
if [[ -s "$initdir/skipped" ]]; then
|
|
||||||
echo "=== Skipped test log =="
|
|
||||||
cat "$initdir/skipped"
|
|
||||||
# We might have only skipped tests - that should not fail the job
|
|
||||||
ret=0
|
|
||||||
fi
|
|
||||||
if [[ -s "$initdir/testok" ]]; then
|
|
||||||
echo "=== Passed tests ==="
|
|
||||||
cat "$initdir/testok"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
get_bool "${TIMED_OUT:=}" && ret=1
|
|
||||||
check_coverage_reports "$initdir" || ret=5
|
|
||||||
|
|
||||||
save_journal "$initdir/var/log/journal" $ret
|
|
||||||
echo "${JOURNAL_LIST:-"No journals were saved"}"
|
|
||||||
|
|
||||||
_umount_dir "$initdir"
|
|
||||||
|
|
||||||
return $ret
|
|
||||||
}
|
|
||||||
|
|
||||||
create_rc_local() {
|
create_rc_local() {
|
||||||
dinfo "Create rc.local"
|
dinfo "Create rc.local"
|
||||||
mkdir -p "${initdir:?}/etc/rc.d"
|
mkdir -p "${initdir:?}/etc/rc.d"
|
||||||
|
@ -95,6 +95,20 @@ export -f run_test
|
|||||||
find /usr/lib/systemd/tests/unit-tests/ -maxdepth 1 -type f -name "${TESTS_GLOB}" -print0 |
|
find /usr/lib/systemd/tests/unit-tests/ -maxdepth 1 -type f -name "${TESTS_GLOB}" -print0 |
|
||||||
xargs -0 -I {} --max-procs="$MAX_QUEUE_SIZE" bash -ec "run_test {}"
|
xargs -0 -I {} --max-procs="$MAX_QUEUE_SIZE" bash -ec "run_test {}"
|
||||||
|
|
||||||
|
# Write all pending messages, so they don't get mixed with the summaries below
|
||||||
|
journalctl --sync
|
||||||
|
|
||||||
|
# No need for full test logs in this case
|
||||||
|
if [[ -s /skipped-tests ]]; then
|
||||||
|
: "=== SKIPPED TESTS ==="
|
||||||
|
cat /skipped-tests
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -s /failed ]]; then
|
||||||
|
: "=== FAILED TESTS ==="
|
||||||
|
cat /failed
|
||||||
|
fi
|
||||||
|
|
||||||
# Test logs are sometimes lost, as the system shuts down immediately after
|
# Test logs are sometimes lost, as the system shuts down immediately after
|
||||||
journalctl --sync
|
journalctl --sync
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user