#! /bin/sh

here=`pwd`
if test $? -ne 0; then exit 2; fi
tmp=/tmp/$$
mkdir $tmp
if test $? -ne 0; then exit 2; fi
cd $tmp
if test $? -ne 0; then exit 2; fi

fail()
{
    echo "FAILED" 1>&2
    cd $here
    chmod -R u+w $tmp
    rm -rf $tmp
    exit 1
}

pass()
{
    echo "PASSED" 1>&2
    cd $here
    chmod -R u+w $tmp
    rm -rf $tmp
    exit 0
}

trap "fail" 1 2 3 15
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

# execute test here. PWD is temporary, refer to classdesc home directory 
# with $here
# force test to fail when run against baseline
if [ -n "$AEGIS_ARCH" ]; then
   BL=`aegis -cd -bl`
  if [ $here == $BL ]; then fail; fi
  POLYMORPH=`aefind -resolve $here/examples -name polymorph -print`
  OPOLYMORPH=`aefind -resolve $here/examples -name old-polymorph -print`
  POLYMORPH2=`aefind -resolve $here/examples -name polymorph2 -print`
else #standalone test
  BL=.
  BL1=.
  POLYMORPH=$here/examples/polymorph
  POLYMORPH2=$here/examples/polymorph2
fi

$POLYMORPH
if test $? -ne 0; then fail; fi
$OPOLYMORPH
if test $? -ne 0; then fail; fi
$POLYMORPH2
if test $? -ne 0; then fail; fi

pass
