#! /bin/sh -e
bugs=0
testdir=`cd "$srcdir/test" && pwd`
cd test
GP2C_FUNC_DSC=../desc/func.dsc
export GP2C_FUNC_DSC
for i in `ls "$testdir/input"`; do
  if test -f "$testdir/gp/$i.gp"; then
    echo @ECHON@ "Testing script $i...@ECHOC@"
    rm -f $i.gp.c $i.gp.o $i.gp.so $i.gp $i.res start.gp
    cp "$testdir/gp/$i.gp" .
    if ../src/gp2c -p gp2c_ -g $i.gp >$i.gp.c 2>$i.res; then
      command=`echo "@PARI_MODULE_BUILD@" | sed -e s/%s/$i.gp/g`
      eval $command
      grep "^GP;" $i.gp.c | sed 's/^GP;//' >start.gp
      cat "$testdir/input/$i" >>start.gp
      '@GP_PATH@' -f -q -test <start.gp >$i.res 2>&1
      if test -f "$testdir/res/$i.res"; then 
        if diff "$testdir/res/$i.res" $i.res >/dev/null; then
          echo "@ECHOT@OK."
        else
          echo "@ECHOT@BUG."
          bugs=1;
        fi
      else
        test "$srcdir" = "." && cp $i.res "$testdir/res/$i.res"
        echo
        cat $i.res
      fi
    else
      echo "@ECHOT@BUG."
      bugs=1;
    fi
  fi
done
exit $bugs
