#!/bin/sh
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

case X"$GOARCH" in
Xamd64)
	export A=6
	;;
*)
	export A=6
	echo 1>&2 run: assuming amd64
	exit 1
esac

export G=${A}g
export L=${A}l

failed=0

for dir in . ken chan bugs fixedbugs
do
	for i in $dir/*.go
	do
		echo
		echo '===========' $i
		export F=$(basename $i .go)
		export D=$dir
		sed -n '1,/[^/]/p' $i | sed 's@//@@; $d' > /tmp/$USER.$$.gotest
		if ! sh /tmp/$USER.$$.gotest
		then
			echo >&2 fail: $i
		fi
	done
done | # clean up some stack noise
	egrep -v '^(r[0-9a-z]+|[cfg]s)  +0x' > run.out

case $failed in
1)
	echo FAIL
esac
rm  -f /tmp/$USER.$$.gotest *.6 6.out
if ! diff run.out golden.out
then
	failed=1
fi

echo 2>&1 $(grep -c '^BUG' run.out) tests are behaving incorrectly

exit $failed
