+# Running of interactive test programs
+
+function test-run-interactive
+{
+ pcont "<init> "
+ box-clean
+ echo "Executable file: $TDIR/$PROBLEM"
+ cp $TDIR/$PROBLEM $BOXDIR/
+ echo "Input: $TDIR/$PROBLEM"
+ ln $PDIR/$TEST.in $TDIR/$TEST.in
+ cp $PDIR/$TEST.in $BOXDIR/$PROBLEM.in
+ eval $SANDBOX_INIT
+ echo "Input files:"
+ ls -Al $BOXDIR
+
+ pcont "<run> "
+ echo "Timeout: $TIME_LIMIT s"
+ echo "Memory: $MEM_LIMIT KB"
+ BOXOPTS=`eval echo $TEST_SANDBOX_OPTS`
+ echo "Sandbox options: $BOXOPTS"
+ ICCMD=`eval echo $IA_CHECK`
+ echo "Interactive checker: $ICCMD"
+ if ! $HDIR/bin/iwrapper $BOXCMD $BOXOPTS -- ./$PROBLEM @@ $ICCMD 2>$TDIR/exec.out ; then
+ TEST_MSG="`head -1 $TDIR/exec.out`"
+ pend "$TEST_MSG"
+ cat $TDIR/exec.out
+ rm $TDIR/exec.out
+ echo "$TEST_MSG"
+ echo >>$PTSFILE "0 $TEST_MSG"
+ return 1
+ fi
+ cat $TDIR/exec.out
+ rm $TDIR/exec.out
+ [ -z "$OUTPUT_CHECK" ] || test-fetch-output || return 1
+}
+