[BusyBox-cvs] CVS busybox/testsuite

CVS User andersen andersen at codepoet.org
Fri Oct 8 07:45:55 UTC 2004


Update of /var/cvs/busybox/testsuite
In directory nail:/tmp/cvs-serv8052/testsuite

Modified Files:
	runtest 
Log Message:
egor duda writes:

Hi!

I've created a patch to busybox' build system to allow building it in
separate tree in a manner similar to kbuild from kernel version 2.6.

That is, one runs command like
'make O=/build/some/where/for/specific/target/and/options'
and everything is built in this exact directory, provided that it exists.

I understand that applyingc such invasive changes during 'release
candidates' stage of development is at best unwise. So, i'm currently
asking for comments about this patch, starting from whether such thing
is needed at all to whether it coded properly.

'make check' should work now, and one make creates Makefile in build
directory, so one can run 'make' in build directory after that.

One possible caveat is that if we build in some directory other than
source one, the source directory should be 'distclean'ed first.

egor




--- /var/cvs/busybox/testsuite/runtest	2004/04/06 11:09:47	1.8
+++ /var/cvs/busybox/testsuite/runtest	2004/10/08 07:45:53	1.9
@@ -1,6 +1,8 @@
 #!/bin/sh
 
-PATH=$(dirname $(pwd)):$PATH
+[ -n "$srcdir" ] || srcdir=$(pwd)
+[ -n "$bindir" ] || bindir=$(dirname $(pwd))
+PATH=$bindir:$PATH
 
 run_applet_testcase ()
 {
@@ -13,7 +15,7 @@
 	local uc_applet=$(echo $applet | tr a-z A-Z)
 	local testname=$(basename $testcase)
 
-	if grep -q "^# CONFIG_${uc_applet} is not set$" ../.config; then
+	if grep -q "^# CONFIG_${uc_applet} is not set$" $bindir/.config; then
 		echo UNTESTED: $testname
 		return 0
 	fi
@@ -21,7 +23,7 @@
 	if grep -q "^# FEATURE: " $testcase; then
 		local feature=`sed -ne 's/^# FEATURE: //p' $testcase`
 
-		if grep -q "^# ${feature} is not set$" ../.config; then
+		if grep -q "^# ${feature} is not set$" $bindir/.config; then
 			echo UNTESTED: $testname
 			return 0
 		fi
@@ -31,7 +33,7 @@
 	mkdir -p tmp
 	pushd tmp >/dev/null
 
-	sh -x -e ../$testcase >.logfile.txt 2>&1
+	d=$srcdir sh -x -e $testcase >.logfile.txt 2>&1
 
 	if [ $? != 0 ] ; then
 		echo FAIL: $testname
@@ -58,8 +60,8 @@
 
 	local status=0
 
-	for testcase in $applet/*; do
-		if [ "$testcase" = "$applet/CVS" ]; then
+	for testcase in $srcdir/$applet/*; do
+		if [ "$testcase" = "$srcdir/$applet/CVS" ]; then
 			continue
 		fi
 
@@ -84,11 +86,11 @@
 if [ $# -ne 0 ]; then
 	applets="$@"
 else
-	applets="*"
+	applets=$(ls $srcdir)
 fi
 
 for applet in $applets; do
-	if [ "$applet" != CVS -a -d "$applet" ]; then
+	if [ "$applet" != CVS -a -d "$srcdir/$applet" ]; then
 		if run_applet_tests $applet; then
 			:
 		else



More information about the busybox-cvs mailing list