#!/usr/bin/env bash

if [ -z "$SAGE_LOCAL" ] ; then
    echo >&2 "SAGE_LOCAL undefined ... exiting"
    echo >&2 "Maybe run 'sage -sh'?"
    exit 1
fi

CUR=`pwd`

# Let the user set an environment variable CFLAG64 to
# indicate the C compiler flag for 64-bit builds. By
# default this will be -m64. IBM's compiler on AIX
# and HP's on HP-UX do NOT use -m64.

if [ -z "$CFLAG64" ] ; then
    CFLAG64=-m64
fi

# There is no C++ code in cvxopt, so no need to do likewise
# with CXXFLAG64.

if [ "x$SAGE64" = xyes ]; then
    echo "Testing a 64-bit version of the cvxopt"
    CFLAGS="$CFLAGS $CFLAG64"
    CPPFLAGS="$CPPFLAGS $CFLAG64" ; export CPPFLAGS
    LDFLAGS="$LDFLAGS $CFLAG64" ; export LDFLAGS
    CC="$CC $CFLAG64" ; export CC
fi

if [ "x$SAGE_DEBUG" = xyes ] ; then
    CFLAGS="$CFLAGS -g -O0" # No optimisation, aids debugging.
else
    CFLAGS="$CFLAGS -g -O2" # Normal optimisation.
fi

export CFLAGS

for di in "$CUR"/src/examples/doc/chap* ; do
    echo "Testing in $di"
    cd "$di"
    for i in `ls | grep -v bin` ; do
        echo "Testing $i ..."
        python $i
        if [ $? -ne 0 ]; then
            echo >&2 "Error: test $di/$i failed"
            exit 1
        fi
    done
done
