aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-04-21 20:25:21 -0500
committerCraig Jennings <c@cjennings.net>2026-04-21 20:25:21 -0500
commit5d677360721ec3ea0f3624ca2a2f20e7241bfba8 (patch)
tree30623e4524e7c75909a72d01972e6943c4f15078 /tests
parentebda614a8dd43b44f8e0d9d844eac7a979a011bd (diff)
downloadarchangel-5d677360721ec3ea0f3624ca2a2f20e7241bfba8.tar.gz
archangel-5d677360721ec3ea0f3624ca2a2f20e7241bfba8.zip
fix: don't mask test-install exit codes through tee
The Makefile let failures slip through silently when the caller piped output: `make test-install 2>&1 | tee log` returned 0 even when the inner build or VM run failed, because tee's zero exit masked the pipeline. This happened today during an ISO rebuild — the first attempt failed on corrupted pacman cache but the task notification reported exit 0. Two changes: 1. Set the recipe shell flags to enable pipefail (`SHELL := /bin/bash` + `.SHELLFLAGS := -o pipefail -c`). Any intra-recipe pipeline now propagates the first non-zero exit instead of the last. Safe to add — no existing recipe uses intra-recipe pipes today. 2. Bake tee into the test-install recipe itself. Output writes to `test-logs/make-test-install-YYYY-MM-DD-HHMM.log` so callers never need to pipe through tee externally. With SHELLFLAGS pipefail in place, the test script's exit code propagates through the baked-in tee back to the caller cleanly. Verified with a repro: a recipe shaped like `failing-cmd | tee log` returns non-zero; the 71-test bats suite still passes.
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions