#!/bin/sh N=100 M=20 D=/tmp/res rm -rf $D mkdir $D SEM=semafore.txt rm -f $SEM function try() { local W=$1 RUN="-v -run=Script/cover_statements" REM=`expr $W % 10` if [ $REM -eq 0 ]; then echo "=-= worker $W running in full mode" RUN="" fi J=0 while [ $J -lt $N ]; do J=`expr $J + 1` go test -count=1 $RUN 1> $D/run.${W}.${J}.txt 2>&1 RC=$? if [ $RC != 0 ]; then echo "*** fail encountered at W=$W J=$J" echo > $SEM break elif [ -f $SEM ]; then break fi done } # I=0 while [ $I -lt $M ]; do I=`expr $I + 1` try $I & done wait if [ -f $SEM ]; then echo "*** script complete with errors" else echo "script complete, no errors" fi