#!/bin/sh

# tests in SMT-LIB format

PRI=../../princess

TESTS="simple-heap.smt2 \
       read-interpolation.smt2 \
       simple-heap-allocAddr.smt2 \
       simple-heap-batch.smt2 \
       simple-heap-batch-dual.smt2 \
       heap-batch-write-read-1-unsat.smt2 \
       heap-batch-write-read-2-unsat.smt2 \
       adt-addrrange-sat.smt2 \
       adt-addrrange-unsat.smt2"

$PRI "$@" $TESTS

TESTS="bug-model-1.smt2 \
       incremental-heap.smt2 \
       swap-interpolation.smt2 \
       heap-batch-write-read-2-sat.smt2"

$PRI "$@" +incremental $TESTS


# tests using Princess API

unset CLASSPATH

rm -f *.class

OPTIONS="-language:implicitConversions,postfixOps,reflectiveCalls -cp `pwd`/../../bin"
RUNOPTIONS="-cp `pwd`/../../bin:."

export JAVA_OPTS="-Xss20000k -Xmx1500m"

TESTS=""
TESTS="HeapTests1 HeapTests2"

for testname in $TESTS; do
    echo
    echo $testname
    scalac $OPTIONS $testname.scala
    scala $RUNOPTIONS $testname
done

rm -f *.class
