#!/bin/sh run_testsuite=false run_testsuite=true run_single_test=false run_single_test=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" 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" grep ^FAIL -- "$dir/testsuite/runtest.log" exit 1 # you may comment this out... let fail++ continue fi tail -n10 -- "$dir/testsuite/runtest.log" fi if $run_single_test; then ( cd -- "$dir" || exit 1 echo "Running make_single_applets.sh in $dir..." if grep -q '# CONFIG_FEATURE_TFTP_GET is not set' .config \ && grep -q '# CONFIG_FEATURE_TFTP_PUT is not set' .config \ ; then # If both off, tftp[d] is ifdefed out and test fails. # Enable one: sed 's/# CONFIG_FEATURE_TFTP_GET is not set/CONFIG_FEATURE_TFTP_GET=y/' -i .config fi ./make_single_applets.sh ) if test $? != 0; then echo "Failed make_single_applets.sh in $dir" exit 1 # you may comment this out... let fail++ continue fi fi grep -i 'warning:' "$dir/make.log" rm -rf -- "$dir" let cnt++ done