-echo
-echo "$TESTDOC"
-echo
-
-MLOG="$TESTDOC"_monet.log
-SLOG="$TESTDOC"_sxsi.log
-QLOG="$TESTDOC"_qizx.log
-rm -f "$MLOG" "$SLOG" "$QLOG"
-cat "$TESTDOC".queries | grep -v '^#' | while read line
-do
-
- qname=`echo "$line" | cut -f 1 -d "%"`
- query=`echo "$line" | cut -f 2 -d "%"`
- query_qizx=`echo "$line" | cut -f 3 -d "%"`
- if [ -z "$query_qizx" ]
- then
- query_qizx="$query"
- fi
- echo Test $I "... "
- echo "$query" | sed -e 's|/descendant::|//|g' | sed -e 's|child::||g'
- echo -n Running SXSI
- {
- read sxsi_count_time
- read sxsi_mat_time
- read sxsi_print_time
- read sxsi_count
- } < <(`pwd`/sxsi.sh "$query" "$TESTDOC" "$repeat_sxsi")
-
- echo " ok"
- echo -n Running MonetBD/XQuery
-
- if [ "$query" = '/descendant::people[ descendant::person[not(child::address)] and descendant::person[not(child::watches)]]/child::person[child::watches]' ]
- then
- #Quick work around since MonetBD fails on q11
- monet_count_time=1000000
- monet_mat_time=1000000
- monet_print_time=1000000
- monet_count="$sxsi_count"
- else
- {
- read monet_count_time
- read monet_mat_time
- read monet_print_time
- read monet_count
- } < <(`pwd`/monet.sh "$query" "$TESTDOC" "$repeat_monet")
-
- fi
- echo " ok"
-
- echo -n Running Qizx/XQuery
- {
- read qizx_count_time
- read qizx_mat_time
- read qizx_print_time
- read qizx_count
- } < <(`pwd`/qizx.sh "$query_qizx" "$TESTDOC" "$repeat_qizx")
-
- echo " ok"
-
- if [ "$monet_count" = "" ]
- then
- monet_count="$sxsi_count"
- fi
- if [ "$sxsi_count" = "" ]
- then
- sxsi_count="$monet_count"
- fi
- for v in sxsi_count_time sxsi_mat_time sxsi_print_time \
- monet_count_time monet_mat_time monet_print_time \
- qizx_count_time qizx_mat_time qizx_print_time
- do
- if [ "${!v}" = "" ]
- then
- { read "$v"; } < <( echo 7200000 )
- fi
- done
-
-
-
- echo "$I,$sxsi_count,$sxsi_count_time,$sxsi_mat_time,$sxsi_print_time" >> "$SLOG"
- echo "$I,$monet_count,$monet_count_time,$monet_mat_time,$monet_print_time" >>"$MLOG"
- echo "$I,$qizx_count,$qizx_count_time,$qizx_mat_time,$qizx_print_time" >>"$QLOG"
- echo -n "Correctness: "
- if [ "$monet_count" = "$sxsi_count" ]
- then
- cecho green "count ok ($monet_count) "
- else
- cecho red "count error (monetdb: $monet_count, sxsi: $sxsi_count) "
- fi
- echo
- echo -n "Timing: "
- CTIME="SXSI: $sxsi_count_time
-MONET: $monet_count_time
-QIZX: $qizx_count_time"
- SORTED_CTIME=`echo "$CTIME" | sort --key=2 -g`
- STR_CTIME=`echo "$SORTED_CTIME" | xargs echo -n`
- first=`echo "$STR_CTIME" | cut -f1 -d':'`
- if [ "$first" = "SXSI" ]
- then
- cecho green "$STR_CTIME"
- else
- cecho yellow "$STR_CTIME"
- fi
- I=$(( $I + 1))
- echo
-done
-done
+ echo "$i"-------------------
+ ref=`basename "$i" .xp`.output
+ doc=$(cat "$i" | cut -f 1 -d ',')
+ options=$(cat "$i" | cut -f 2 -d ',')
+ query=$(cat "$i" | cut -f 3 -d ',')
+ rm -f tmp
+ $MAIN $options "../docs/$doc".xml "$query" /dev/stdout 2>/dev/null
+ cat "$ref"
+ echo -----------------------------------------
+done
\ No newline at end of file