#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" source "$SCRIPT_DIR/../harness/helpers.sh" source "$SCRIPT_DIR/../harness/mock-nas.sh" # No require_root: this test uses an unreachable host, no mock NAS needed setup_test_env trap teardown_test_env EXIT # Generate config with an unreachable NAS host (RFC 5737 TEST-NET) # so warpgate blocks in the mount phase waiting for SFTP connection gen_config nas_host=192.0.2.1 # Start warpgate — it will try to connect to the unreachable host start_warpgate # Give it time to enter the mount-wait phase sleep 2 # Send SIGTERM while still waiting for mount kill -TERM "$WARPGATE_PID" # Should exit quickly since it never completed mount wait_for_exit "$WARPGATE_PID" 10 # Verify no orphan rclone processes remain assert_no_orphan_rclone # Verify the mount point is not mounted (it never was) assert_not_mounted echo "PASS: $(basename "$0" .sh)"