From d3b8e38409a2e2db5d92180e31ef99066344bda1 Mon Sep 17 00:00:00 2001 From: Dan Streetman Date: Fri, 2 Jul 2021 10:38:14 -0400 Subject: [PATCH] test: optionally, only save test journal for failing tests Saving the journal for passing tests creates a huge amount of unneeded data stored for each full test run. Add a env var to allow saving the journal only for failed tests. --- test/test-functions | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/test/test-functions b/test/test-functions index 3451e16d9ad..795f7156452 100644 --- a/test/test-functions +++ b/test/test-functions @@ -1117,6 +1117,15 @@ check_asan_reports() { } save_journal() { + # Default to always saving journal + local save="yes" + + if [ "${TEST_SAVE_JOURNAL}" = "no" ]; then + save="no" + elif [ "${TEST_SAVE_JOURNAL}" = "fail" ] && [ "$2" = "0" ]; then + save="no" + fi + if [ -n "${ARTIFACT_DIRECTORY}" ]; then dest="${ARTIFACT_DIRECTORY}/${testname:?}.journal" else @@ -1124,9 +1133,9 @@ save_journal() { fi for j in "${1:?}"/*; do - "$SYSTEMD_JOURNAL_REMOTE" \ - -o "$dest" \ - --getter="$JOURNALCTL -o export -D $j" + if [ "$save" = "yes" ]; then + "$SYSTEMD_JOURNAL_REMOTE" -o "$dest" --getter="$JOURNALCTL -o export -D $j" + fi if [ -n "${TEST_SHOW_JOURNAL}" ]; then echo "---- $j ----" @@ -1136,6 +1145,10 @@ save_journal() { rm -r "$j" done + if [ "$save" != "yes" ]; then + return 0 + fi + if [ -n "${SUDO_USER}" ]; then setfacl -m "user:${SUDO_USER:?}:r-X" "$dest"* fi @@ -1171,10 +1184,10 @@ check_result_common() { ret=3 fi - save_journal "$workspace/var/log/journal" - check_asan_reports "$workspace" || ret=4 + save_journal "$workspace/var/log/journal" $ret + if [ -d "${ARTIFACT_DIRECTORY}" ] && [ -f "$workspace/strace.out" ]; then cp "$workspace/strace.out" "${ARTIFACT_DIRECTORY}/" fi @@ -1252,10 +1265,12 @@ check_result_nspawn_unittests() { fi fi - save_journal "$workspace/var/log/journal" + [[ -n "${TIMED_OUT:=}" ]] && ret=1 + + save_journal "$workspace/var/log/journal" $ret + _umount_dir "${initdir:?}" - [[ -n "${TIMED_OUT:=}" ]] && ret=1 return $ret } @@ -1282,10 +1297,12 @@ check_result_qemu_unittests() { fi fi - save_journal "$initdir/var/log/journal" + [[ -n "${TIMED_OUT:=}" ]] && ret=1 + + save_journal "$initdir/var/log/journal" $ret + _umount_dir "$initdir" - [[ -n "${TIMED_OUT:=}" ]] && ret=1 return $ret }