#!/bin/sh
#
# Check that existing autotests for files that are being commited are not currently failing
#

dir=`dirname $0`
echo $dir
for file in `git-diff-index --name-only HEAD | grep .cpp` ; do
    file=`echo $file | sed -e s/.cpp//g -e 's/.*\///g'`
    if [ -d $dir/../autotests/$file ] ; then
        echo "--checking autotest: $file--"

        tempfoo=`basename $0`
        TMPFILE=`mktemp -t ${tempfoo}` || exit 1
        (cd "$dir/../../autotests/$file/"; qmake; make; ./$file >> $TMPFILE)
        output=`cat $TMPFILE | grep ' failed,' | sed -e 's/.*passed, //g' -e 's/ failed.*//g'`
        if [ "${output}" != "0" ] ; then
            echo "Autotests failed for $file, please fix before commiting."
            cat $TMPFILE
            rm $TMPFILE
            exit 1
        fi
        rm $TMPFILE
        echo "--checking autotest: $file done--"
    fi
done
