updated android_ndk_defconfig
[oweals/busybox.git] / scripts / randomtest.loop
index 28edb6732116e68662dcd4d329cd2bfa4d2281bc..758a8e86290d96e49429db29e3620a42aa9b75a7 100755 (executable)
@@ -1,10 +1,44 @@
 #!/bin/sh
 
+run_testsuite=true
+
+test -d "$1" || { echo "'$1' is not a directory"; exit 1; }
+test -x "$1/scripts/randomtest" || { echo "No scripts/randomtest in '$1'"; exit 1; }
+
+export LIBC="uclibc"
+export CROSS_COMPILER_PREFIX="i686-"
+export MAKEOPTS="-j9"
+
 cnt=0
 fail=0
-
 while sleep 1; do
-    echo "Passes: $cnt Failures: $fail"
-    ./randomtest >/dev/null || exit #let fail++
-    let cnt++
+       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"
+                       exit 1 # you may comment this out...
+                       let fail++
+                       continue
+               fi
+               tail -n10 -- "$dir/testsuite/runtest.log"
+       fi
+       rm -rf -- "$dir"
+       let cnt++
 done