#!/bin/sh 

. ../common/common.sh

check_output()
{
	egrep "^end 0x0000DEAD$" run.out > /dev/null
	if [ $? -ne 0 ]; then
		echo "couldn't find string 1 in output - mtty not working ?" >> run.out
		return 1
	fi
	egrep "^status 0x00400403 cause 0x80000000 pc 0xBFC00054 badva 0x00000000 xicu 0x[01][0-9A-F][01][0-9A-F][01][0-9A-F]00$" run.out > /dev/null
	if [ $? -ne 0 ]; then
		echo "couldn't find string 2 in output - mtty not working ?" >> run.out
		return 1
	fi
	return 0;
}


for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70; do
	make clean --quiet
	make INTERRUPT_DELAY=$i --quiet || exit 1
    ${SIMUL} > run.out 2>&1 
	if [ $? -eq 0 ]; then
		if check_output; then
			echo "test $i passed";
			make --quiet clean
		    exit 0;
		fi
	else
		echo "test FAILED"
		exit 1
	fi
done
echo "test FAILED"
