summaryrefslogtreecommitdiffstats
path: root/src/ceph/qa/loopall.sh
blob: edc14a02142b53f5692114b3553920f6167e062e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash -x

set -e

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