#!/bin/sh

set -efu

CLASSPATH=/usr/share/java/clojure.jar:/usr/share/java/bultitude.jar:/usr/share/java/tools.logging.jar:src/test/java:src/test/clojure

if [ -n "${AUTOPKGTEST_TMP:-}" ]; then
    CLASSPATH="$CLASSPATH:/usr/share/java/java.data.jar"
else
    CLASSPATH="$CLASSPATH:src/main/clojure"
fi

cleanup() {
    find ./src/test/java -type f -name \*.class -delete
}

trap 'cleanup' EXIT

# compile provided java classes in testsuite
find ./src/test/java -type f -name \*.java -print0 | xargs -0 -n1 javac -cp $CLASSPATH

clojure -cp $CLASSPATH \
		-e "(require '[clojure.test])" \
		-e "(require '[bultitude.core :as b])" \
		-e '(def all-tests (b/namespaces-on-classpath :classpath "src/test/clojure"))' \
		-e "(map #(require %) all-tests)" \
		-e '(System/exit (if (clojure.test/successful? (clojure.test/run-all-tests #"clojure\.java\.test-data")) 0 1))'
