From: Shane Jaroch Date: Thu, 15 Jan 2026 09:13:01 +0000 (-0500) Subject: update installer logic test X-Git-Url: https://git.nutra.tk/v2?a=commitdiff_plain;h=fc5191a76386af19d10181fd50ac16371076c566;p=gamesguru%2Fgit-remote-gcrypt.git update installer logic test --- diff --git a/tests/test-install-logic.sh b/tests/test-install-logic.sh index 61b16e7..bd5f49a 100755 --- a/tests/test-install-logic.sh +++ b/tests/test-install-logic.sh @@ -135,23 +135,28 @@ else exit 1 fi -# --- TEST 5: Permission Failure --- -echo "--- Test 5: Permission Failure ---" -RO_DIR="$SANDBOX/ro_dir" -mkdir -p "$RO_DIR" -# Make it non-writable -chmod 555 "$RO_DIR" -export prefix="$RO_DIR/usr" -unset DESTDIR +# --- TEST 5: Permission Failure (Simulated) --- +echo "--- Test 5: Permission Failure (Simulated) ---" +# We act as root in some containers, so chmod -w won't stop writes. +# Instead, we mock 'install' to fail, ensuring error paths are hit. +SHADOW_BIN_FAIL="$SANDBOX/shadow_bin_install_fail" +mkdir -p "$SHADOW_BIN_FAIL" +cat >"$SHADOW_BIN_FAIL/install" <&2 +exit 1 +EOF +chmod +x "$SHADOW_BIN_FAIL/install" -if "bash" "$INSTALLER" >.install_log 2>&1; then - print_err "FAILED: Installer should have failed due to permissions" - rm -rf "$RO_DIR" +if PATH="$SHADOW_BIN_FAIL:$PATH" prefix="$SANDBOX/usr" DESTDIR="" bash "$INSTALLER" >.install_log 2>&1; then + print_err "FAILED: Installer should have failed due to install command failure" + cat .install_log + rm -rf "$SHADOW_BIN_FAIL" exit 1 else - printf " ✓ %s\n" "Installer failed gracefully on permissions" + printf " ✓ %s\n" "Installer failed gracefully on install error" fi -rm -rf "$RO_DIR" +rm -rf "$SHADOW_BIN_FAIL" # --- TEST 6: Missing rst2man --- echo "--- Test 6: Missing rst2man ---"