clean-tests   [plain text]


find_makefile()
{
	local j

	MF=""

	if [ ! -d $1 ]
	then
		return 1
	fi

	for j in Makefile makefile Makefile.newtest makefile.newtest
	do
		[ -f $1/$j ] && MF=$j
	done

	[ "$MF" ] && return 0
	return 1
}

find_path_to_test_dir()
{
	# FIND THE PATH TO THE TEST DIR
	# SO THAT WE CAN ADD THE BIN DIR INTO
	# THE SEARCH PATH

	# remember the top level execution dir
	chmod +x "$0"	# just in case

	#add path to $0 into search
	savedir=$PWD
		DIRNAME=`dirname $0`
		[ -d "$DIRNAME" ] && cd "$DIRNAME"
		PATH=$PATH:$PWD
	cd "$savedir"

	chmod +x "$0"	# just in case
	EXECNAME=`which $0`
	DIRNAME=`dirname "$EXECNAME"`
	if [ -d "$DIRNAME" ]
	then
		TEST_HOME_DIR="$DIRNAME"
	else
		TEST_HOME_DIR="$savedir" # Give up and assume current dir
	fi

	PATH="$PATH":"$TEST_HOME_DIR"/bin:"$savedir"
}

find_path_to_test_dir

cd "$TEST_HOME_DIR/test-cases"

for i in *
do
	[ -d "$i" ] &&
	(
		if find_makefile $i
		then
			make -C $i -f $MF -s -k clean >/dev/null 2>/dev/null
		fi
	)
done