#!/usr/bin/zsh

rc=1
fname=vg.log

basedir=/opt/emg/server
export PATH=$basedir/bin:$PATH

# /usr/bin/printenv | grep EMG_ > env.txt

alias vg="valgrind --leak-check=full --show-leak-kinds=all --error-exitcode=0 --gen-suppressions=all --suppressions=$basedir/tests/suites/common/emg7.supp"

# vg /usr/bin/printenv > vg-env.txt 2>&1

rc=0

vg emgd -fg > $fname 2>&1
vgexit=$?
# echo got vg exitcode $vgexit

n=0
while ! grep -q '^=.*Memcheck' $fname; do
	if grep -q "Server could not be started." $fname; then
		exit 1
	fi
	n=`expr $n + 1`
	if [ $n -gt 10 ]; then
		exit 1
	fi
	echo waiting
	sleep 1
done

pid=`grep '^=.*Memcheck' vg.log | cut -d" " -f1 | tr -d '='`
# echo will look for $pid

while ! grep -q "^==$pid== ERROR SUMMARY" $fname; do
	# echo waiting for summary
	sleep 1
done

if ! grep -q "^==$pid== ERROR SUMMARY: 0 errors from 0 contexts" $fname; then
	rc=1
fi

# echo vgemgd exits with $rc
# rc=1

exit $rc

