summaryrefslogtreecommitdiff
path: root/run-test-suite.sh
blob: f7e051c6da516dfbcd85f22804785e361de8cf68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash -e

UNIT_TEST_PARAMS="--quickcheck-max-size 30 --quickcheck-tests 100"

if [ "$1" == "--profile" ] ; then
  shift
  cabal install --only-dependencies --enable-library-profiling --enable-executable-profiling
  cabal configure --flags "profiling onlytestsuite" --enable-library-profiling --enable-executable-profiling
  set +e
  RESULT_UNITTESTS=0
  cabal run lambdacube-compiler-test-suite -- -r -iperformance -i.ignore $@ +RTS -p
  RESULT_TESTS=`echo $?`
elif [ "$1" == "--coverage" ] ; then
  shift
  set +e
  cabal install --only-dependencies
  cabal configure --flags "coverage"
  cabal run lambdacube-compiler-unit-tests -- $UNIT_TEST_PARAMS
  RESULT_UNITTESTS=`echo $?`
  cabal run lambdacube-compiler-coverage-test-suite -- -iperformance -i.ignore -r $@
  RESULT_TESTS=`echo $?`
  ./create-test-report.sh
  rm lambdacube-compiler-coverage-test-suite.tix
else
  set +e
  cabal install --only-dependencies -j1
  cabal run lambdacube-compiler-unit-tests -- $UNIT_TEST_PARAMS
  RESULT_UNITTESTS=`echo $?`
  cabal run lambdacube-compiler-test-suite -- -iperformance -i.ignore -r $@
  RESULT_TESTS=`echo $?`
fi

if [[ $RESULT_UNITTESTS -ne 0 ]]; then
  echo "***************************"
  echo "* Unit tests are failing. *"
  echo "***************************"
fi

if [[ $RESULT_TESTS -ne 0 ]]; then
  echo "*******************************"
  echo "* Compiler tests are failing. *"
  echo "*******************************"
fi

exit $((RESULT_TESTS + RESULT_UNITTESTS))