#!/bin/sh
set -efu

CLASSPATH=/usr/share/java/clojure.jar:/usr/share/java/bultitude.jar:/usr/share/java/schema.jar:/usr/share/java/kitchensink.jar:/usr/share/java/kitchensink-test.jar:/usr/share/java/trapperkeeper.jar:/usr/share/java/trapperkeeper-test.jar:/usr/share/java/trapperkeeper-authorization.jar:/usr/share/java/ring-middleware.jar:/usr/share/java/cheshire.jar:/usr/share/java/java.jmx.jar:/usr/share/java/ring-defaults.jar:/usr/share/java/tools.logging.jar:/usr/share/java/metrics-core.jar:/usr/share/java/metrics-graphite.jar:/usr/share/java/comidi.jar:/usr/share/java/puppetlabs-i18n.jar:/usr/share/java/trapperkeeper-metrics.jar:/usr/share/java/trapperkeeper-webserver-jetty9.jar:test

cp -a dev-resources test "$AUTOPKGTEST_TMP"
cp debian/gen-pki.sh "$AUTOPKGTEST_TMP/dev-resources"
cp debian/gen-pki.exts.cnf "$AUTOPKGTEST_TMP/dev-resources/exts.cnf"
cd "$AUTOPKGTEST_TMP"

# needed by puppetlabs.trapperkeeper.testutils.bootstrap
mkdir target

# regenerate test certificates
./dev-resources/gen-pki.sh

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