Index: tools/repeat
===================================================================
--- tools/repeat	(revision 42b0d73e05cbc2bd2150dc4052dcf6db9e845b88)
+++ tools/repeat	(revision 42b0d73e05cbc2bd2150dc4052dcf6db9e845b88)
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+if [ $1 == "-h" -o $1 == "--help" ]; then
+	echo "$(basename $0) [-s|-p] ITERATIONS COMMAND"
+	exit
+fi
+
+ACTION=$1
+ITERATION=$2
+shift 2
+
+_term() { 
+  echo "Caught SIGTERM signal!" 
+  kill -TERM "$child" 2>/dev/null
+  exit
+}
+
+trap _term SIGTERM SIGINT
+
+for (( i = 0; i < ITERATION; i ++ )); do
+	echo -ne "\r$i / $ITERATION"
+	$@ &
+	child=$! 
+	wait "$child"
+	RET=$?
+	if [ $RET -ne 0 ]; then
+		echo "FAILURE: $RET @ $i"
+	fi
+	if [ $ACTION == "-s" -a $RET -ne 0 ]; then
+		exit $RET
+	fi
+done
+echo -ne "\r$ITERATION / $ITERATION"
+
+exit 0
