diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/run-wsdunit | 50 |
1 files changed, 32 insertions, 18 deletions
diff --git a/scripts/run-wsdunit b/scripts/run-wsdunit index 8c096af035..b0f0eab9ca 100755 --- a/scripts/run-wsdunit +++ b/scripts/run-wsdunit @@ -13,27 +13,41 @@ if [ -z "$name" ]; then echo "missing parameter: test name" exit 1 fi +shift # Eat the first argument. -limit="$2" -count=0 -while true -do - count=$((count+1)) - - (cd test; ./run_unit.sh --test-name $name.la --log-file $name.log --trs-file $name.trs --color-tests yes --enable-hard-errors yes --expect-failure no -- ./$name.la) - ./coolwsd --disable-cool-user-checking --cleanup - if ! grep -q FAIL test/$name.trs; then - RET=0 - break - else - RET=1 - fi +# Maximum number of runs. +limit=1 +if [ $# -ne 0 ]; +then + limit=$1 + if test $limit -lt 1; then + echo "Cannot run $limit times; please enter a positive number." + exit 1 + fi; + echo "Will run $name $limit times." + shift +fi - if [ -z "$limit" ] || [ "$count" -eq "$limit" ]; then - break - fi -done +pass=0; +for ((i=1; i<=$limit; i++)) +do + echo; + echo ">>> $(date +%b-%d) @ $(date +%H:%M:%S) Run #$i (of $limit):"; + ./coolwsd --disable-cool-user-checking --cleanup &> /dev/null + (cd test && ./run_unit.sh --test-name $name.la --log-file $name.log --trs-file $name.trs --color-tests yes --enable-hard-errors yes --expect-failure no -- ./$name.la) + if test $? -eq 0; then + ((pass=pass+1)); + fi; + echo; +done; +((res=pass*100/limit)); +echo ">>> Passed $pass times out of $limit runs: $res%"; +if test $pass -ne $limit; then + echo ">>> FAILED"; + RET=1; +fi +./coolwsd --disable-cool-user-checking --cleanup exit $RET # vi:set shiftwidth=4 expandtab: |