#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" source "$SCRIPT_DIR/../harness/helpers.sh" setup_test_env trap teardown_test_env EXIT GENERATED="$TEST_DIR/generated.toml" # config-init should create a new config file at the specified path. output=$("$WARPGATE_BIN" config-init --output "$GENERATED" 2>&1) || { echo "FAIL: config-init exited non-zero" echo " output: $output" exit 1 } # The file must exist after a successful run. assert_file_exists "$GENERATED" # The generated config should be parseable by the binary. Running # `status` will fail on the mount check (no mount running) but must # not fail on config parsing — exit code 0 with a DOWN status. output=$("$WARPGATE_BIN" status -c "$GENERATED" 2>&1) || { echo "FAIL: generated config is not parseable by warpgate status" echo " output: $output" exit 1 } echo "PASS: $(basename "$0" .sh)"