#!/usr/bin/env bash # Regenerates every file under output/. # # ./scripts/run-all.sh # # Needs a JDK 25, Maven 3.9 and redis-server and redis-cli (7.x) on the PATH. The tests start # throwaway redis-server processes on free ports and stop them when the JVM exits; they never touch # a Redis on 6379. Transcripts 00-07 come out of the test suite, so each number in them is an # assertion that fails the build if it stops being true. Transcript 08 is two real JVMs and curl. set -euo pipefail cd "$(dirname "$0")/.." mkdir -p output echo "== test suite (transcripts 00-07)" mvn -B test | tee /tmp/rate-limit-mvn.log | grep -E '^\[(INFO|WARNING|ERROR)\] Tests run:' | sed 's/^\[[A-Z]*\] //' > output/00-test-summary.txt echo "== two real JVMs (transcript 08)" ./scripts/two-jvms.sh >/dev/null echo echo "output:" ls -1 output