#!/bin/sh # Runs MiniABS's API/JSON/progress code on the desktop JVM against mock_abs.py. set -e cd "$(dirname "$0")/.." OUT=build/test JSON_JAR=/usr/share/java/com.android.json.jar rm -rf "$OUT" && mkdir -p "$OUT" S=src/com/miniabs javac -nowarn -encoding UTF-8 -cp "$JSON_JAR" -d "$OUT" $(find test/shim -name '*.java') \ $S/Json.java $S/Prefs.java $S/Episode.java $S/Util.java $S/Api.java $S/App.java test/com/miniabs/ApiTest.java for mode in current legacy; do PORT=$((18000 + $(od -An -N2 -tu2 /dev/urandom | tr -d ' ') % 1000)) python3 test/mock_abs.py $PORT $mode & PID=$! sleep 1 echo "=== $mode server" java -cp "$OUT:$JSON_JAR" com.miniabs.ApiTest $PORT $mode || { kill $PID; exit 1; } kill $PID done