#!/bin/bash
#emacs: -*- mode: shell-script; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*- 
#ex: set sts=4 ts=4 sw=4 noet:

set -u

XVFB_OPTS="-screen 0 1024x768x24 -ac +extension GLX +render -noreset"

testcmd=$1
runtimelimit=$2
keysequence=$3
startdelay=$(($runtimelimit - 5))
hardtimelimit=$(($runtimelimit + 5))

xvfb-run --auto-servernum --server-num=20 -s "$XVFB_OPTS" \
bash -c "(xdotool sleep $startdelay key $3 2>/dev/null 1>&2;) & \
	timeout --kill-after=$hardtimelimit $runtimelimit \
	$testcmd"
rv=$?
if [ $rv != 0 ]; then
   if [ $rv = 124 ]; then st='TIMEOUT';
   elif [ $rv = 123 ]; then st='SKIPPED';
   else st="EXIT CODE $rv"
   fi
   echo $st
   exit $rv
fi
