1#!/bin/sh 2 3run_testsuite=false 4run_testsuite=true 5 6run_single_test=false 7run_single_test=true 8 9test -d "$1" || { echo "'$1' is not a directory"; exit 1; } 10test -x "$1/scripts/randomtest" || { echo "No scripts/randomtest in '$1'"; exit 1; } 11 12export LIBC="uclibc" 13export CROSS_COMPILER_PREFIX="i686-" 14export MAKEOPTS="-j9" 15 16cnt=0 17fail=0 18while sleep 1; do 19 echo "Passes: $cnt Failures: $fail" 20 dir="test.$$" 21 while test -e "$dir" -o -e "failed.$dir"; do 22 dir="test.$$.$RANDOM" 23 done 24 echo "Running randconfig test in $dir..." 25 if ! "$1/scripts/randomtest" "$1" "$dir" >/dev/null; then 26 mv -- "$dir" "failed.$dir" 27 echo "Failed build in: failed.$dir" 28 exit 1 # you may comment this out... 29 let fail++ 30 continue 31 fi 32 if $run_testsuite; then 33 ( 34 cd -- "$dir/testsuite" || exit 1 35 echo "Running testsuite in $dir..." 36 SKIP_KNOWN_BUGS=1 SKIP_INTERNET_TESTS=1 ./runtest -v >runtest.log 2>&1 37 ) 38 if test $? != 0; then 39 echo "Failed runtest in $dir" 40 grep ^FAIL -- "$dir/testsuite/runtest.log" 41 exit 1 # you may comment this out... 42 let fail++ 43 continue 44 fi 45 tail -n10 -- "$dir/testsuite/runtest.log" 46 fi 47 if $run_single_test; then 48 ( 49 cd -- "$dir" || exit 1 50 echo "Running make_single_applets.sh in $dir..." 51 52 if grep -q '# CONFIG_FEATURE_TFTP_GET is not set' .config \ 53 && grep -q '# CONFIG_FEATURE_TFTP_PUT is not set' .config \ 54 ; then 55 # If both off, tftp[d] is ifdefed out and test fails. 56 # Enable one: 57 sed 's/# CONFIG_FEATURE_TFTP_GET is not set/CONFIG_FEATURE_TFTP_GET=y/' -i .config 58 fi 59 60 ./make_single_applets.sh 61 ) 62 if test $? != 0; then 63 echo "Failed make_single_applets.sh in $dir" 64 exit 1 # you may comment this out... 65 let fail++ 66 continue 67 fi 68 fi 69 grep -i 'warning:' "$dir/make.log" 70 rm -rf -- "$dir" 71 let cnt++ 72done 73