Add tests for wordbased index.
[SXSI/xpathcomp.git] / tests / non_regression_tests / monet.sh
1 #!/bin/bash
2 source utils.sh
3 #Mserver and killall must be in /etc/sudoers
4 function kmonet() {
5     sudo killall -TERM Mserver
6     sleep 2
7     sudo killall -9 Mserver
8 }
9 trap kmonet INT TERM
10
11 function do_monet(){
12     while pidof Mserver >/dev/null
13     do
14
15         sudo killall -TERM Mserver
16         sleep 3
17     done
18
19     while ! pidof Mserver >/dev/null
20     do
21     sudo /usr/local/bin/alarm 600 22000000 Mserver --dbinit="module(pathfinder);" >/dev/null 2>&1 &
22     sleep 3
23     done
24     sync
25
26     query="$1"
27     doc="$2"
28     repeat="$3"
29     TIME_MAT=""
30     TIME_COUNT=""
31     TIME_PRINT=""
32     NUM_RESULTS=""
33     for i in `seq 1 "$repeat"` 
34     do
35     {
36         read foo
37         read foo
38         read num
39         read foo
40         read foo
41         read tquery
42         read foo
43         read foo
44     } < <(echo "fn:count(fn:doc(\"$doc\")$query)
45 " | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' )
46
47     TIME_COUNT="$TIME_COUNT
48 $tquery"
49
50     NUM_RESULTS="$num"
51     done
52
53     if [ -z "$4" ]
54     then
55     for i in `seq 1 "$repeat"` 
56     do
57     {
58         read foo
59         read foo
60         read tquery
61         read tprint
62         read foo
63     } < <(echo "\>/dev/null
64 fn:doc(\"$doc\")$query
65 " | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' )
66
67     TIME_MAT="$TIME_MAT
68 $tquery"
69
70     TIME_PRINT="$TIME_PRINT
71 $tprint"
72
73     done
74     else
75         TIME_MAT="999999"
76         TIME_PRINT="0"
77     fi
78     while pidof Mserver >/dev/null
79     do
80
81         sudo killall -TERM Mserver
82         sleep 3
83     done
84
85     echo "$TIME_COUNT" | tail -n +2 | average
86     echo "$TIME_MAT" | tail -n +2   | average
87     echo "$TIME_PRINT" | tail -n +2   | average
88     echo $NUM_RESULTS
89 }
90
91 do_monet "$@"