test: don't hide exit code of the systemd-run process
authorFrantisek Sumsal <frantisek@sumsal.cz>
Tue, 2 Apr 2024 16:32:22 +0000 (18:32 +0200)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Tue, 2 Apr 2024 17:00:42 +0000 (19:00 +0200)
test/units/testsuite-54.sh

index 7618e92c9fa4ffa2cdae096256187f688fae037c..3ed81f43592859b0f84f2057c0141e72ccd9fcbc 100755 (executable)
@@ -8,13 +8,20 @@ set -eux
 
 systemd-analyze log-level debug
 
-run_with_cred_compare() {
+run_with_cred_compare() (
     local cred="${1:?}"
     local exp="${2?}"
+    local log_file
     shift 2
 
-    diff <(systemd-run -p SetCredential="$cred" --wait --pipe -- systemd-creds "$@") <(echo -ne "$exp")
-}
+    log_file="$(mktemp)"
+    # shellcheck disable=SC2064
+    trap "rm -f '$log_file'" RETURN
+
+    set -o pipefail
+    systemd-run -p SetCredential="$cred" --wait --pipe -- systemd-creds "$@" | tee "$log_file"
+    diff "$log_file" <(echo -ne "$exp")
+)
 
 # Sanity checks
 #