4 # --no-clean: don't make clean first, just carry on from
5 # a previous interrupted validation run
6 # --testsuite-only: don't build the compiler, just run
8 # --hpc: build stage2 with -fhpc, and see how much of the
9 # compiler the test suite covers
30 echo "Bad argument: $1" >&2
36 if [ $testsuite_only -eq 0 ]; then
38 if [ $no_clean -eq 0 ] && [ -f mk/config.mk ]; then
43 cygwin|msys) config_args=--build=i386-unknown-mingw32
44 if [ -f c:/mingw/bin/gcc.exe ]
46 config_args="$config_args --with-gcc=c:/mingw/bin/gcc"
51 if [ "$CPUS" = "" ]; then
54 threads=`expr $CPUS + 1`
58 ./configure "--prefix=`pwd`/inst" $config_args
60 thisdir=`utils/pwd/pwd forwardslash`
64 hpcflags="ValidateHpcFlags=-fhpc -hpcdir $thisdir/testsuite/hpc_output/"
67 make Validating=YES -j$threads ${hpcflags+"$hpcflags"}
72 # XXX With threads we'd need to give a different tix file to each thread
73 # and then sum them up at the end
75 HPCTIXFILE=$thisdir/testsuite/hpc_output/ghc.tix
80 make Validating=YES -C testsuite/tests/ghc-regress fast stage=2 CLEANUP=1 THREADS=$threads 2>&1 | tee testlog
84 utils/hpc/hpc markup --hpcdir=. --srcdir=compiler --srcdir=testsuite/hpc_output --destdir=testsuite/hpc_output testsuite/hpc_output/ghc.tix
87 echo "-------------------------------------------------------------------"
89 grep '\<0 caused framework failures' testlog >/dev/null 2>/dev/null &&
90 grep '\<0 unexpected passes' testlog >/dev/null 2>/dev/null &&
91 grep '\<0 unexpected failures' testlog >/dev/null 2>/dev/null ; then
92 if [ $testsuite_only -eq 0 ] && [ $no_clean -eq 0 ]
95 Congratulations! This tree has passed minimal testing.
97 NOTE: If you have made changes that may cause failures not tested for by
98 the minimal testing procedure, please do further testing as necessary.
100 When you are satisfied that you haven't broken anything, go ahead and
101 push/send your patches.
105 I didn't find any problems, but this wasn't a complete validate run,
108 NOTE: If you have made changes that may cause failures not tested for by
109 the minimal testing procedure, please do further testing as necessary.
114 Oops! Looks like you have some unexpected test results or framework failures.
115 Please fix them before pushing/sending patches.
118 echo "-------------------------------------------------------------------"