]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: dump a simple summary at the end of TEST-02-UNITTEST
authorFrantisek Sumsal <frantisek@sumsal.cz>
Wed, 12 Jun 2024 10:09:25 +0000 (12:09 +0200)
committerLuca Boccassi <luca.boccassi@gmail.com>
Wed, 12 Jun 2024 13:04:10 +0000 (14:04 +0100)
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.

test/TEST-02-UNITTESTS/test.sh
test/test-functions
test/units/TEST-02-UNITTESTS.sh

index f165c993689b7ba7b075a6d4983987a1c8d9575f..2cf9c310969348ed5f82c61584ab1f2f1e992f18 100755 (executable)
@@ -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 "$@"
index be6eb1d9b2f1a64ef9f3e93cdec1f2f36a736736..8b497b2e27cd9d7eacca265ed331ad525c1aef9a 100644 (file)
@@ -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"
index 63924251300d2c37f13c1e06ccb4698f85500c53..4448643f9a2b44429d148f1b86ea25a56776b11e 100755 (executable)
@@ -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