#!/bin/sh

run_testsuite=false
run_testsuite=true

run_single_test=false
run_single_test=true

export LIBC="uclibc"
export CROSS_COMPILER_PREFIX="i686-"
export MAKEOPTS="-j9"

test -d "$1" || { echo "'$1' is not a directory"; exit 1; }
test -x "$1/scripts/randomtest" || { echo "No scripts/randomtest in '$1'"; exit 1; }

test "$SKIP_MOUNT_MAND_TESTS" = "1" || {
	echo "SKIP_MOUNT_MAND_TESTS not set, some mount tests will fail"
	echo "if current kernel has CONFIG_MANDATORY_FILE_LOCKING off."
}

cnt=0
fail=0
while sleep 1; do
	echo "Passes: $cnt Failures: $fail"
	dir="test.$$"
	while test -e "$dir" -o -e "failed.$dir"; do
		dir="test.$$.$RANDOM"
	done
	echo "Running randconfig test in $dir..."
	if ! "$1/scripts/randomtest" "$1" "$dir" >/dev/null; then
		mv -- "$dir" "failed.$dir"
		echo "Failed build in: failed.$dir"
		exit 1 # you may comment this out...
		let fail++
		continue
	fi
	if $run_testsuite; then
		(
			cd -- "$dir/testsuite" || exit 1
			echo "Running testsuite in $dir..."
			SKIP_KNOWN_BUGS=1 SKIP_INTERNET_TESTS=1 ./runtest -v >runtest.log 2>&1
		)
		if test $? != 0; then
			echo "Failed runtest in $dir"
			grep ^FAIL -- "$dir/testsuite/runtest.log"
			exit 1 # you may comment this out...
			let fail++
			continue
		fi
		tail -n10 -- "$dir/testsuite/runtest.log"
	fi
	if $run_single_test; then
		(
			cd -- "$dir" || exit 1
			echo "Running make_single_applets.sh in $dir..."

			if grep -q '# CONFIG_FEATURE_TFTP_GET is not set' .config \
			&& grep -q '# CONFIG_FEATURE_TFTP_PUT is not set' .config \
			; then
				# If both off, tftp[d] is ifdefed out and test fails.
				# Enable one:
				sed 's/# CONFIG_FEATURE_TFTP_GET is not set/CONFIG_FEATURE_TFTP_GET=y/' -i .config
			fi

			./make_single_applets.sh
		)
		if test $? != 0; then
			echo "Failed make_single_applets.sh in $dir"
			exit 1 # you may comment this out...
			let fail++
			continue
		fi
	fi
	grep -i 'warning:' "$dir/make.log"
	rm -rf -- "$dir"
	let cnt++
done
