#!/bin/bash
SRCDIR=$1
BINDIR=$2
TEST=`dirname $3`/`basename $3 .iter`
OUT=$BINDIR/test/rbkt/CompilerResults/IterPlan/$TEST
EXPECTED=$SRCDIR/test/rbkt/ExpCompilerResults/IterPlan/$TEST.iter
mkdir -p `dirname $OUT`
QUERY=$SRCDIR/test/rbkt/Queries/$TEST.xq
test -e $QUERY || exit 0
$BINDIR/test/apitest -i --compile-only --no-tree-ids $QUERY >$OUT.iter
# -w ignores all whitespace -- a bit too lax
diff -dbu $EXPECTED $OUT.iter >$OUT.iter.diff
STATUS=$?
if test $STATUS -ne 0; then
   echo 'Iterator plan changed for ' $QUERY ' changed. Query:'
   cat $QUERY; echo; echo
   echo; echo 'Plan difference:'
   cat $OUT.iter.diff
   echo 'Actual plan:'
   cat $OUT.iter
   echo; echo 'Expected plan:'
   cat $EXPECTED
else
   rm $OUT.iter.diff
fi
exit $STATUS
