#!/usr/bin/env bash # Verify e2e shim prerequisites (SAND-WP-0004-T04). set -euo pipefail ERR=0 check_cmd() { if command -v "$1" >/dev/null 2>&1; then echo "OK $1 → $(command -v "$1")" else echo "FAIL $1 not on PATH" >&2 ERR=1 fi } echo "==> CLI prerequisites" check_cmd validate check_cmd sandboxer echo "==> Host env (one required for make e2e)" if [[ -n "${SANDBOXER_HOST:-}" || -n "${RAILIANCE01_HOST:-}" ]]; then echo "OK host env: SANDBOXER_HOST=${SANDBOXER_HOST:-} RAILIANCE01_HOST=${RAILIANCE01_HOST:-}" else echo "WARN no SANDBOXER_HOST or RAILIANCE01_HOST (set before remote run)" >&2 fi if [[ -n "${SANDBOXER_COMPOSE_CMD:-}" ]]; then echo "OK SANDBOXER_COMPOSE_CMD=${SANDBOXER_COMPOSE_CMD}" else echo "WARN SANDBOXER_COMPOSE_CMD unset (use podman-compose on CoulombCore)" >&2 fi REPO="${VERIFY_REPO:-sand-boxer}" REPO_PATH="${HOME}/${REPO}" if [[ -f "${REPO_PATH}/e2e/e2e.yml" ]]; then echo "OK fixture repo: ${REPO_PATH}/e2e/e2e.yml" else echo "WARN ${REPO_PATH}/e2e/e2e.yml missing (set VERIFY_REPO)" >&2 fi echo "==> Optional remote run (VERIFY_E2E_RUN=1)" if [[ "${VERIFY_E2E_RUN:-}" == "1" ]]; then test -n "${SANDBOXER_HOST:-${RAILIANCE01_HOST:-}}" || { echo "FAIL SANDBOXER_HOST required for VERIFY_E2E_RUN" >&2 exit 1 } cd "$(dirname "$0")/.." make e2e "REPO=${REPO}" NO_REPORT=1 echo "OK make e2e REPO=${REPO}" fi if [[ "$ERR" -ne 0 ]]; then exit 1 fi echo "==> PASS prerequisites"