test: the e2e can no longer pass on a failed install

Two assertions could not fail. `dotup --yes install | tail -8` threw the status
away — no set -e, no pipefail, and $? was tail's — so a run in which 36
packages failed to install still reached "E2E PASS". And the zsh login check
was a `|| echo WARN` that fell straight through. Both now fail the run.
This commit is contained in:
bcherb2
2026-08-21 22:34:53 -04:00
parent a001406a33
commit 286c3281b5
+14 -2
View File
@@ -48,7 +48,16 @@ printf 'core/unzip\nprivate/private-repo\nprivate/bws-secrets\n' > "$STATE/selec
echo " plan says:"; dotup plan 2>&1 | sed 's/^/ /' | grep -v '^ *$' | head -8
# ---- 3. install: unzip via apt. bws must NOT appear here -------------------
# The status was thrown away here, and that is not a detail: with no `set -e`,
# no `pipefail`, and nothing reading `$?` (which was `tail`'s anyway), a run in
# which 36 packages failed to install still reached `echo "E2E PASS"`. Both
# statements were true at once and only one of them was reported. Capture the
# status, print the output, then fail on it.
set -o pipefail
dotup --yes install 2>&1 | sed 's/^/ /' | tail -8
irc=$?
set +o pipefail
[ "$irc" -eq 0 ] || fail "dotup install exited $irc — at least one package did not install"
command -v unzip >/dev/null || fail "unzip not installed"
command -v bws >/dev/null && fail "bws installed by the package phase — it must come from the private tier"
echo "3. unzip installed; bws correctly absent (it is not a manifest package)"
@@ -221,7 +230,10 @@ git -C "$HOME/.local/share/dotfiles-private" fetch -q 2>/dev/null \
git config --get user.email >/dev/null 2>&1 || fail "git identity not configured"
echo "git identity: configured"
zsh -ic 'exit' >/dev/null 2>&1 && echo "zsh: interactive login clean" \
|| echo "WARN: zsh -ic exited non-zero"
# This was a `|| echo "WARN: …"` that fell straight through to `E2E PASS`, so
# the one assertion about the shell this repo exists to configure could not
# fail. If the login shell is broken, the run is not a pass.
zsh -ic 'exit' >/dev/null 2>&1 || fail "zsh -ic exited non-zero — the login shell this repo configures is broken"
echo "zsh: interactive login clean"
echo
echo "E2E PASS"