#!/bin/bash

# testexamples [-p python_command] [ errorfiles_file ]
#
# no arguments.
#
# run in examples directory to test all .tst files.
# 
# exit status > 0 if errors found.

ERRORFILES="/tmp/testexamples.$$"

PYTHON=python2.5

if [ $# -ge 2 -a "x$1" = x-p ]
then
    PYTHON="$2"
    shift 2
fi

> $ERRORFILES
NUM_ERRORS=0

#find . -name compiled_krb -exec rm -rf "{}" +

for f in `find . -name .svn -prune -o -name '*.tst' -print`
do
    #echo Testing "$f"
    if ! "$PYTHON" ../doctest_file.py "$f" True
    then
        echo "$f" >> $ERRORFILES
        NUM_ERRORS=$(($NUM_ERRORS + 1))
    fi
done

if [ $NUM_ERRORS -eq 0 ]
then
    echo "No Errors!"
    rm -f $ERRORFILES
else
    echo "********** ERRORS ************* $NUM_ERRORS files had errors:"
    cat $ERRORFILES
    if [ $# -gt 0 ]
    then
        sed 's,^\./,examples/,' $ERRORFILES >> "$1"
    fi
    rm -f $ERRORFILES
    exit $NUM_ERRORS
fi
