#!/bin/bash
set -e

pkg=snpeff

export LC_ALL=C.UTF-8
if [ "${AUTOPKGTEST_TMP}" = "" ] ; then
  AUTOPKGTEST_TMP=$(mktemp -d /tmp/${pkg}-test.XXXXXX)
  # Double quote below to expand the temporary directory variable now versus
  # later is on purpose.
  # shellcheck disable=SC2064
  trap "rm -rf ${AUTOPKGTEST_TMP}" 0 INT QUIT ABRT PIPE TERM
fi

# Push patches if some of them still have to be applied, but don't fail else.
QUILT_PATCHES="debian/patches" quilt push -a || true

# Copying config file in home dir.
HOME="$(mktemp -d)"
mkdir -p ~/.snpEff
cp /etc/snpeff/snpEff.config ~/.snpEff

mkdir -p "${AUTOPKGTEST_TMP}/org/snpeff/snpEffect/testCases/"
cp -a src/main/java/org/snpeff/snpEffect/testCases/integration "${AUTOPKGTEST_TMP}/org/snpeff/snpEffect/testCases/"
cp -a src/main/java/org/snpeff/snpEffect/testCases/unity "${AUTOPKGTEST_TMP}/org/snpeff/snpEffect/testCases/"
cp -a tests/ "${AUTOPKGTEST_TMP}"

cd "${AUTOPKGTEST_TMP}"
mkdir classes/

javac -d classes -cp /usr/share/java/junit-jupiter-api.jar:/usr/share/java/snpeff.jar:/usr/share/java/biojava5-core.jar:/usr/share/java/biojava5-genome.jar:/usr/share/java/biojava5-structure.jar org/snpeff/snpEffect/testCases/*/*.java

# Only running unit tests, not integration ones (needing data from the Internet)
java -jar /usr/share/java/junit-platform-console-standalone.jar --class-path /usr/share/java/snpeff.jar:/usr/share/java/biojava5-genome.jar:classes --select-package org.snpeff.snpEffect.testCases.unity
