#!/bin/sh
# Run the upstream JUnit tests that use JNA against the jar given as $1.
# The *JNI tests and UnixSocketLengthTest need the JNI library, not built.
# src/test/java-jdk11 (JFR load test) is not run.
set -e

JAR=${1:-/usr/share/java/ipcsocket.jar}
WORK=$(mktemp -d)
trap 'rm -rf "$WORK"' EXIT

CP=$JAR:/usr/share/java/jna.jar:/usr/share/java/jna-platform.jar:/usr/share/java/junit4.jar

javac --release 8 -encoding UTF-8 -nowarn -cp "$CP" -d "$WORK" \
	$(find src/test/java -name '*.java' | LC_ALL=C sort)

java --enable-native-access=ALL-UNNAMED -Djava.io.tmpdir="$WORK" \
	-cp "$WORK:$CP" org.junit.runner.JUnitCore \
	org.scalasbt.ipcsocket.AvailableTest \
	org.scalasbt.ipcsocket.CloseAfterEofTest \
	org.scalasbt.ipcsocket.SocketTest \
	org.scalasbt.ipcsocket.duplex.DuplexTest
