137 lines
3.9 KiB
Diff
137 lines
3.9 KiB
Diff
|
From 4a468387acbc8a2bd51bffaeca242e415e55b614 Mon Sep 17 00:00:00 2001
|
||
|
From: Frantisek Sumsal <frantisek@sumsal.cz>
|
||
|
Date: Wed, 12 Jun 2024 12:09:25 +0200
|
||
|
Subject: [PATCH] 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 2ac0e52f29eb5f0040882fc46bcfa369893577f3)
|
||
|
---
|
||
|
test/TEST-02-UNITTESTS/test.sh | 8 ----
|
||
|
test/test-functions | 68 ---------------------------------
|
||
|
test/units/TEST-02-UNITTESTS.sh | 14 +++++++
|
||
|
3 files changed, 14 insertions(+), 76 deletions(-)
|
||
|
|
||
|
diff --git a/test/TEST-02-UNITTESTS/test.sh b/test/TEST-02-UNITTESTS/test.sh
|
||
|
index f165c99368..2cf9c31096 100755
|
||
|
--- a/test/TEST-02-UNITTESTS/test.sh
|
||
|
+++ b/test/TEST-02-UNITTESTS/test.sh
|
||
|
@@ -37,12 +37,4 @@ test_append_files() {
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
-check_result_nspawn() {
|
||
|
- check_result_nspawn_unittests "${1}"
|
||
|
-}
|
||
|
-
|
||
|
-check_result_qemu() {
|
||
|
- check_result_qemu_unittests
|
||
|
-}
|
||
|
-
|
||
|
do_test "$@"
|
||
|
diff --git a/test/test-functions b/test/test-functions
|
||
|
index be6eb1d9b2..8b497b2e27 100644
|
||
|
--- a/test/test-functions
|
||
|
+++ b/test/test-functions
|
||
|
@@ -1860,74 +1860,6 @@ check_result_qemu() {
|
||
|
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() {
|
||
|
dinfo "Create rc.local"
|
||
|
mkdir -p "${initdir:?}/etc/rc.d"
|
||
|
diff --git a/test/units/TEST-02-UNITTESTS.sh b/test/units/TEST-02-UNITTESTS.sh
|
||
|
index 6392425130..4448643f9a 100755
|
||
|
--- a/test/units/TEST-02-UNITTESTS.sh
|
||
|
+++ b/test/units/TEST-02-UNITTESTS.sh
|
||
|
@@ -95,6 +95,20 @@ export -f run_test
|
||
|
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 {}"
|
||
|
|
||
|
+# 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
|
||
|
journalctl --sync
|
||
|
|