diff --git a/testsuite/runtest b/testsuite/runtest
index 279f51f..4946cbd 100755
--- a/testsuite/runtest
+++ b/testsuite/runtest
@@ -1,9 +1,5 @@
 #!/bin/sh
 
-[ -n "$srcdir" ] || srcdir=$(pwd)
-[ -n "$bindir" ] || bindir=$(dirname $(pwd))
-PATH=$bindir:$PATH
-
 # Run old-style test.
 
 run_applet_testcase()
@@ -35,9 +31,9 @@
 	mkdir -p tmp
 	pushd tmp > /dev/null
 
-	d=$srcdir sh -x -e $testcase >.logfile.txt 2>&1 || status=$?
+	d=$tsdir sh -x -e $testcase >.logfile.txt 2>&1 || status=$?
 
-	if [ $status -ne 0 ] ; then
+	if [ $status -ne 0 ]; then
 		echo FAIL: $testname
 		if [ $verbose -gt 0 ]; then
 			cat .logfile.txt
@@ -61,14 +57,11 @@
 
 	local status=0
 
-	for testcase in $srcdir/$applet/*; do
-		if [ "$testcase" = "$srcdir/$applet/CVS" ]; then
+	for testcase in $tsdir/$applet/*; do
+		if [ "$testcase" = "$tsdir/$applet/CVS" ]; then
 			continue
 		fi
-
-		if run_applet_testcase $applet $testcase; then
-			:
-		else
+		if ! run_applet_testcase $applet $testcase; then
 			status=1
 		fi
 	done
@@ -80,64 +73,61 @@
 status=0
 verbose=0
 
+[ -n "$tsdir" ] || tsdir=$(pwd)
+[ -n "$bindir" ] || bindir=$(dirname $(pwd))
+PATH="$bindir:$PATH"
+
 if [ x"$1" = x"-v" ]; then
 	verbose=1
 	export VERBOSE=$verbose
 	shift
 fi
 
-if [ $# -ne 0 ]; then
-	applets=$(cd $srcdir ; for i in $@; do ls ${i}* ; done)
-else
-	applets=$(ls $srcdir)
-fi
-
-# Populate a directory with links to all busybox applets
-
-LINKSDIR="$bindir/runtest-tempdir-links"
-implemented=$($bindir/busybox 2>&1 |
-	while read line
-	do
-		if test x"$line" = x"Currently defined functions:"
-		then
+implemented=$(
+	$bindir/busybox 2>&1 |
+	while read line; do
+		if test x"$line" = x"Currently defined functions:"; then
 			xargs | sed 's/,//g'
 			break
 		fi
 	done
 	)
+
+applets="$implemented"
+if [ $# -ne 0 ]; then
+	applets="$@"
+fi
+
+# Populate a directory with links to all busybox applets
+
+LINKSDIR="$bindir/runtest-tempdir-links"
 rm -rf "$LINKSDIR" 2>/dev/null
 mkdir "$LINKSDIR"
-for i in $implemented
-do
+for i in $implemented; do
 	ln -s $bindir/busybox "$LINKSDIR"/$i
 done
 
 # Set up option flags so tests can be selective.
 
-configfile=${bindir:-../../}/.config
-export OPTIONFLAGS=:$(echo $(sed -nr 's/^CONFIG_(.*)=.*/\1/p' $configfile) | sed 's/ /:/g')
+configfile=${bindir}/.config
+export OPTIONFLAGS=:$(sed -nr 's/^CONFIG_(.*)=.*/\1/p' $configfile | xargs | sed 's/ /:/g')
 
 for applet in $applets; do
 	if [ "$applet" = "links" ]; then continue; fi
-	if [ "$applet" != "CVS" -a -d "$srcdir/$applet" ]; then
-		if run_applet_tests $applet; then
-			:
-		else
+	if [ "$applet" != "CVS" -a -d "$tsdir/$applet" ]; then
+		if ! run_applet_tests $applet; then
 			status=1
 		fi
 	fi
 
 	# Is this a new-style test?
-	applet=$(echo "$applet" | sed -n 's/\.tests$//p')
-	if [ ${#applet} -ne 0 ]
-	then
-		if [ ! -h "$LINKSDIR/$applet" ] && [ "${applet:0:4}" != "all_" ]
-		then
+	if [ -f ${applet}.tests ]; then
+		if [ ! -h "$LINKSDIR/$applet" ] && [ "${applet:0:4}" != "all_" ]; then
 			echo "SKIPPED: $applet (not built)"
 			continue
 		fi
-		if PATH="$LINKSDIR":$srcdir:$bindir:$PATH \
-				"${srcdir:-.}/$applet".tests
+		if PATH="$LINKSDIR":$tsdir:$bindir:$PATH \
+				"${tsdir:-.}/$applet".tests
 		then
 			:
 		else
