summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/run-wsdunit50
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: