aboutsummaryrefslogtreecommitdiff
path: root/testsuite/runtest
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-10-08 07:46:08 +0000
committerEric Andersen <andersen@codepoet.org>2004-10-08 07:46:08 +0000
commit7daa076d3e24e84ce1f4e9b6133783816575c4c8 (patch)
treee81ce57a92acc0653374e1d262039562855d16ec /testsuite/runtest
parent2842659cc02233274ca165ffb83a31b161d815cd (diff)
downloadbusybox-w32-7daa076d3e24e84ce1f4e9b6133783816575c4c8.tar.gz
busybox-w32-7daa076d3e24e84ce1f4e9b6133783816575c4c8.tar.bz2
busybox-w32-7daa076d3e24e84ce1f4e9b6133783816575c4c8.zip
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
Diffstat (limited to 'testsuite/runtest')
-rwxr-xr-xtestsuite/runtest18
1 files changed, 10 insertions, 8 deletions
diff --git a/testsuite/runtest b/testsuite/runtest
index 89aba3985..6ba334bce 100755
--- a/testsuite/runtest
+++ b/testsuite/runtest
@@ -1,6 +1,8 @@
1#!/bin/sh 1#!/bin/sh
2 2
3PATH=$(dirname $(pwd)):$PATH 3[ -n "$srcdir" ] || srcdir=$(pwd)
4[ -n "$bindir" ] || bindir=$(dirname $(pwd))
5PATH=$bindir:$PATH
4 6
5run_applet_testcase () 7run_applet_testcase ()
6{ 8{
@@ -13,7 +15,7 @@ run_applet_testcase ()
13 local uc_applet=$(echo $applet | tr a-z A-Z) 15 local uc_applet=$(echo $applet | tr a-z A-Z)
14 local testname=$(basename $testcase) 16 local testname=$(basename $testcase)
15 17
16 if grep -q "^# CONFIG_${uc_applet} is not set$" ../.config; then 18 if grep -q "^# CONFIG_${uc_applet} is not set$" $bindir/.config; then
17 echo UNTESTED: $testname 19 echo UNTESTED: $testname
18 return 0 20 return 0
19 fi 21 fi
@@ -21,7 +23,7 @@ run_applet_testcase ()
21 if grep -q "^# FEATURE: " $testcase; then 23 if grep -q "^# FEATURE: " $testcase; then
22 local feature=`sed -ne 's/^# FEATURE: //p' $testcase` 24 local feature=`sed -ne 's/^# FEATURE: //p' $testcase`
23 25
24 if grep -q "^# ${feature} is not set$" ../.config; then 26 if grep -q "^# ${feature} is not set$" $bindir/.config; then
25 echo UNTESTED: $testname 27 echo UNTESTED: $testname
26 return 0 28 return 0
27 fi 29 fi
@@ -31,7 +33,7 @@ run_applet_testcase ()
31 mkdir -p tmp 33 mkdir -p tmp
32 pushd tmp >/dev/null 34 pushd tmp >/dev/null
33 35
34 sh -x -e ../$testcase >.logfile.txt 2>&1 36 d=$srcdir sh -x -e $testcase >.logfile.txt 2>&1
35 37
36 if [ $? != 0 ] ; then 38 if [ $? != 0 ] ; then
37 echo FAIL: $testname 39 echo FAIL: $testname
@@ -58,8 +60,8 @@ run_applet_tests ()
58 60
59 local status=0 61 local status=0
60 62
61 for testcase in $applet/*; do 63 for testcase in $srcdir/$applet/*; do
62 if [ "$testcase" = "$applet/CVS" ]; then 64 if [ "$testcase" = "$srcdir/$applet/CVS" ]; then
63 continue 65 continue
64 fi 66 fi
65 67
@@ -84,11 +86,11 @@ fi
84if [ $# -ne 0 ]; then 86if [ $# -ne 0 ]; then
85 applets="$@" 87 applets="$@"
86else 88else
87 applets="*" 89 applets=$(ls $srcdir)
88fi 90fi
89 91
90for applet in $applets; do 92for applet in $applets; do
91 if [ "$applet" != CVS -a -d "$applet" ]; then 93 if [ "$applet" != CVS -a -d "$srcdir/$applet" ]; then
92 if run_applet_tests $applet; then 94 if run_applet_tests $applet; then
93 : 95 :
94 else 96 else