37 lines
1.7 KiB
Bash
Executable File
37 lines
1.7 KiB
Bash
Executable File
#!/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"
|