#!/bin/sh
set -e

bin="edfbrowser"

if [ "$AUTOPKGTEST_TMP" = "" ] ; then
  AUTOPKGTEST_TMP=`mktemp -d /tmp/${bin}-test.XXXXXX`
  trap "rm -rf $AUTOPKGTEST_TMP" 0 INT QUIT ABRT PIPE TERM
fi

check_n_cleanup () {
	local program_pids="$(
		ps aux \
		| awk "/^$USER"'.*bin[/]'"$bin"'/ {print$2}' \
		| xargs
	)"

	local xvfb_pids="$(
		ps aux \
		| awk -vORS=' ' "/^$USER"'.*[X]vfb/ {print$2}' \
		| xargs
	)"

	if [ -n "$program_pids" ]
	then
		kill $program_pids
	else
		printf -- "error: $bin crashed before the end of the test\n" >&2
		exit 1
	fi
	test -n "$xvfb_pids" && kill $xvfb_pids
}

cd "$AUTOPKGTEST_TMP"

set -v
xvfb-run --auto-servernum "/usr/bin/$bin" 2>&1 &
sleep 30
check_n_cleanup
