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