#!/usr/bin/env bash set -euo pipefail ROOT=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd) cd "$ROOT" # A missing broker must fail the command, never turn these tests into skips. BASE_URL=${GO_SIP_LOCAL_MQ_URL:-${RABBITMQ_URL:-amqp://guest:guest@127.0.0.1:33252/}} export GO_SIP_LOCAL_MQ_URL="$BASE_URL" export GO_SIP_LOCAL_QUERY_MQ_URL="${GO_SIP_LOCAL_QUERY_MQ_URL:-$BASE_URL}" export GO_SIP_LOCAL_UPLOAD_MQ_URL="${GO_SIP_LOCAL_UPLOAD_MQ_URL:-$BASE_URL}" export RABBITMQ_URL="${RABBITMQ_URL:-$BASE_URL}" LOG_FILE=${MQ_ONLY_ACCEPTANCE_LOG:-/tmp/go-sip-mq-only-acceptance.log} : > "$LOG_FILE" run() { printf '$' printf ' %q' "$@" printf '\n' | tee -a "$LOG_FILE" "$@" 2>&1 | tee -a "$LOG_FILE" } run env GOMAXPROCS=2 GOTOOLCHAIN=local go test -race -p 1 -v ./internal/dispatcher \ -run 'TestLocalMQ(AIConfigurationAuthorizationRoundTrip|ActiveControlReplyRecovery|RequestRoundTrip)$' -count=1 run env GOMAXPROCS=2 GOTOOLCHAIN=local go test -race -p 1 -v ./internal/rpc \ -run '^TestLocalUploadNoticeSurvivesUnroutableAndRestart$' -count=1 run env GOMAXPROCS=2 GOTOOLCHAIN=local go test -race -p 1 -v -tags integration ./internal/mq \ -run 'TestV2LocalBrokerIdentityIsolationAndReliableRouting|TestLocalRabbitMQConfirmAckAndDeadLetter|TestV2LocalBrokerDisconnectStopsPublisher' -count=1 run env GOMAXPROCS=2 GOTOOLCHAIN=local go test -race -p 1 -v ./internal/store \ -run 'TestMQControlRejectsLateRevisionWithoutRegressingTask|TestMQReplayOnlyRequeuesOriginalBusinessFacts' -count=1 if grep -Eq -- '--- SKIP:|\(no tests to run\)' "$LOG_FILE"; then echo "targeted MQ acceptance unexpectedly skipped a test; see $LOG_FILE" >&2 exit 1 fi echo "targeted MQ acceptance passed without skipped tests; log=$LOG_FILE"