#!/bin/sh
set -e

scriptdir="${0%/*}"

: "${PD32:=$(command -v pd)}"
: "${PD64:=$(command -v pd64)}"

pdflags="-noprefs -nogui -nosound -nomidi -verbose"

list_packages() {
   (cd "$1"; dh_listpackages)
}

list_debs() {
   local pkg
   local dir="$1"
   local f
   dir=${dir%/}
   dir=${dir%/*}
   list_packages "$1" | while read -r pkg; do
      for f in "${dir}/${pkg}"_*.deb; do
	      test ! -e "${f}" || echo "${f}"
      done
   done
}

runtest() {
  "${scriptdir}"/buildpackage "$1"
  local debs=$(list_debs "$1")
  echo "CI: dpkg -i ${debs}"
  dpkg -i ${debs}
  for f in "$1"/*-test.pd; do
	  test -e "${f}" || continue
	  for pd in "${PD32}" "${PD64}"; do
		  test -n "${pd}" || continue
		  echo "CI: ${pd} ${pdflags} -open ${f}"
		  "${pd}" ${pdflags} -open "${f}"
	  done
  done

  debs=$(list_packages "$1")
  echo "CI: purge ${debs}"
  apt-get purge -y ${debs}
}

# Build packages
for d in "$@"; do
  runtest "$d"
done
