X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fnon_regression_tests%2Fmonet.sh;fp=tests%2Fnon_regression_tests%2Fmonet.sh;h=db76444dcab47de471b323da7f6626e2fee1702f;hb=4b52da1a20a4fe031930bb96d2ca46bec06dc529;hp=0000000000000000000000000000000000000000;hpb=a223af3254fb51c279cfbccdc18c59484fdca74e;p=SXSI%2Fxpathcomp.git diff --git a/tests/non_regression_tests/monet.sh b/tests/non_regression_tests/monet.sh new file mode 100755 index 0000000..db76444 --- /dev/null +++ b/tests/non_regression_tests/monet.sh @@ -0,0 +1,86 @@ +#!/bin/bash + +#Mserver and killall must be in /etc/sudoers +function kmonet() { + sudo killall -TERM Mserver + sleep 2 + sudo killall -9 Mserver +} +trap kmonet INT TERM + +function do_monet(){ + while pidof Mserver >/dev/null + do + + sudo killall -TERM Mserver + sleep 3 + done + + while ! pidof Mserver >/dev/null + do + sudo /usr/local/bin/alarm 600 22000000 Mserver --dbinit="module(pathfinder);" >/dev/null 2>&1 & + sleep 3 + done + sync + + query="$1" + doc="$2" + repeat="$3" + TIME_MAT="" + TIME_COUNT="" + TIME_PRINT="" + NUM_RESULTS="" + for i in `seq 1 "$repeat"` + do + { + read foo + read foo + read num + read foo + read foo + read tquery + read foo + read foo + } < <(echo "fn:count(fn:doc(\"$doc\")$query) +" | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' ) + + TIME_COUNT="$tquery +$TIME_COUNT" + + NUM_RESULTS="$num" + done + + for i in `seq 1 "$repeat"` + do + { + read foo + read foo + read tquery + read tprint + read foo + } < <(echo "\>/dev/null +fn:doc(\"$doc\")$query +" | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' ) + + TIME_MAT="$tquery +$TIME_MAT" + + TIME_PRINT="$tprint +$TIME_PRINT" + + done + + while pidof Mserver >/dev/null + do + + sudo killall -TERM Mserver + sleep 3 + done + + echo "$TIME_COUNT" | sort -g | head -2 | tail -1 + echo "$TIME_MAT" | sort -g | head -2 | tail -1 + echo "$TIME_PRINT" | sort -g | head -2 | tail -1 + echo $NUM_RESULTS +} + +do_monet "$@"