39fa819cd13dac705f9f4f4aaecdb940812b5408
[ghc.git] / validate
1 #!/bin/sh -e
2
3 if [ -f mk/config.mk ]; then
4    make distclean
5 fi
6
7 if [ -f mk/build.mk ]; then
8    mv mk/build.mk mk/build.mk.bak
9 fi
10
11 # The default is a "quick" build
12 echo BuildFlavour=quick >mk/build.mk
13 cat mk/build.mk.sample >>mk/build.mk
14
15 # You can override the default validate settings using mk/validate.mk
16 # e.g. you could add GhcLibWays=p to test profiling.
17 echo '-include $(TOP)/mk/validate.mk' >>mk/build.mk
18
19 sh boot
20 ./configure
21 # ToDo: configure args
22
23 make -j2
24
25 make -C testsuite/tests/ghc-regress fast stage=2 CLEANUP=1 2>&1 | tee testlog
26
27 if
28     grep '\<0 caused framework failures' testlog >/dev/null 2>/dev/null &&
29     grep '\<0 unexpected passes' testlog >/dev/null 2>/dev/null &&
30     grep '\<0 unexpected failures' testlog >/dev/null 2>/dev/null ; then
31    echo "-------------------------------------------------------------------"
32    echo "Congratulations!  This tree is has passed minimal testing."
33    echo
34    echo "NOTE: If you have made changes that may cause failures not tested"
35    echo "for by the minimal testing procedure, please do further testing"
36    echo "as necessary."
37    echo
38    echo "When you are satisfied that you haven't broken anything, go ahead"
39    echo "and push/send your patches".
40    echo "-------------------------------------------------------------------"
41 else
42    echo "-------------------------------------------------------------------"
43    echo "Oops!  Looks like you have some unexpected test results or"
44    echo "framework failures."
45    echo "Please fix them before pushing/sending patches."
46    echo "-------------------------------------------------------------------"
47 fi