#!/bin/bash
set -o errexit
set -o errtrace
set -o pipefail
set -o nounset


cleanup() {
  # kill window manager to clean up (rest will exit automatically)
  pid="$(jobs -p)"
  if [ -n "$pid" ]; then
      xvfbpid="$(pgrep -l -P ${pid} | grep xvfb-run | cut -d' ' -f1)"
      if [ -n "$xvfbpid" ]; then
        pgrep -l -P ${xvfbpid} | grep xfwm4 | cut -d' ' -f1 | xargs kill -9
      fi
  fi
}

for sig in INT QUIT HUP TERM; do trap "cleanup; trap - $sig EXIT; kill -s $sig "'"$$"' "$sig"; done
trap cleanup EXIT

export HOME="${AUTOPKGTEST_TMP}"
export XAUTHORITY="${AUTOPKGTEST_TMP}/.Xauthority"
export DISPLAY=:10
debian/tests/start-xvfb.sh 10 &
sleep 3

problem_list=${AUTOPKGTEST_TMP}/jdk-problems.txt
cat test/jdk/ProblemList.txt > ${problem_list}

host_arch="${DEB_HOST_ARCH:-$(dpkg --print-architecture)}"
if [[ -f debian/tests/problems-${host_arch}.txt ]]; then
	cat debian/tests/problems-${host_arch}.txt >> ${problem_list}
fi

native_path=$(pwd)/build/images/test/jdk/jtreg/native
debian/tests/jtreg-autopkgtest.sh jdk \
  -exclude:${problem_list} \
  -dir:test/jdk \
  -nativepath:${native_path} \
  -k:!stress \
  :tier1 :tier2
debian/tests/jtdiff-autopkgtest.sh jdk
