diff options
Diffstat (limited to 'qa/loopall.sh')
-rwxr-xr-x | qa/loopall.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/qa/loopall.sh b/qa/loopall.sh new file mode 100755 index 000000000..d69e8c720 --- /dev/null +++ b/qa/loopall.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +set -ex + +basedir=`echo $0 | sed 's/[^/]*$//g'`. +testdir="$1" +[ -n "$2" ] && logdir=$2 || logdir=$1 + +[ ${basedir:0:1} == "." ] && basedir=`pwd`/${basedir:1} + +PATH="$basedir/src:$PATH" + +[ -z "$testdir" ] || [ ! -d "$testdir" ] && echo "specify test dir" && exit 1 +cd $testdir + +while true +do + for test in `cd $basedir/workunits && find . -executable -type f | $basedir/../src/script/permute` + do + echo "------ running test $test ------" + pwd + [ -d $test ] && rm -r $test + mkdir -p $test + mkdir -p `dirname $logdir/$test.log` + test -e $logdir/$test.log && rm $logdir/$test.log + sh -c "cd $test && $basedir/workunits/$test" 2>&1 | tee $logdir/$test.log + done +done |