#!/bin/sh
set -efu

CLASSPATH=/usr/share/java/clojure.jar:/usr/share/java/tools.deps.alpha.jar:/usr/share/java/tools.namespace.jar:/usr/share/java/slf4j-nop.jar:/usr/share/java/tools.build.jar:test:test-data

mkdir "$AUTOPKGTEST_TMP/test"
cp -a src/test/clojure/clojure "$AUTOPKGTEST_TMP/test"
cp -a test-data "$AUTOPKGTEST_TMP"
cd "$AUTOPKGTEST_TMP"

clojure \
    -cp $CLASSPATH \
    -e "(require '[clojure.test])" \
    -e "(require '[clojure.tools.build.api])" \
    -e "(require '[clojure.tools.build.test-util])" \
    -e "(require '[clojure.tools.build.tasks.test-basis])" \
    -e "(require '[clojure.tools.build.tasks.test-compile-clj])" \
    -e "(require '[clojure.tools.build.tasks.test-copy])" \
    -e "(require '[clojure.tools.build.tasks.test-delete])" \
    -e "(require '[clojure.tools.build.tasks.test-install])" \
    -e "(require '[clojure.tools.build.tasks.test-jar])" \
    -e "(require '[clojure.tools.build.tasks.test-javac])" \
    -e "(require '[clojure.tools.build.tasks.test-pom])" \
    -e "(require '[clojure.tools.build.tasks.test-process])" \
    -e "(require '[clojure.tools.build.tasks.test-uber])" \
    -e "(require '[clojure.tools.build.tasks.test-write-file])" \
    -e "(require '[clojure.tools.build.tasks.test-zip])" \
    -e "(System/exit (if (clojure.test/successful? (clojure.test/run-tests
        'clojure.tools.build.test-util
        'clojure.tools.build.tasks.test-basis
        'clojure.tools.build.tasks.test-compile-clj
        'clojure.tools.build.tasks.test-copy
        'clojure.tools.build.tasks.test-delete
        'clojure.tools.build.tasks.test-install
        'clojure.tools.build.tasks.test-jar
        'clojure.tools.build.tasks.test-javac
        'clojure.tools.build.tasks.test-pom
        'clojure.tools.build.tasks.test-process
        'clojure.tools.build.tasks.test-uber
        'clojure.tools.build.tasks.test-write-file
        'clojure.tools.build.tasks.test-zip)) 0 1))"
