summaryrefslogtreecommitdiff
path: root/validate
blob: 1852358da6a1be84262b1eb2156a64f1b52bba7b (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/sh

set -e

if [ -f mk/config.mk ]; then
   make distclean
fi

if [ -f mk/build.mk ]; then
   mv mk/build.mk mk/build.mk.bak
fi

# The default is a "quick" build
echo BuildFlavour=quick >mk/build.mk
cat mk/build.mk.sample >>mk/build.mk

# You can override the default validate settings using mk/validate.mk
# e.g. you could add GhcLibWays=p to test profiling.
echo '-include $(TOP)/mk/validate.mk' >>mk/build.mk

case $OSTYPE in
  cygwin|msys) config_args=--build=i386-unknown-mingw32
               if [ -f c:/mingw/bin/gcc.exe ]; then
                   config_args="$config_args --with-gcc=c:/mingw/bin/gcc"
               fi
               ;;
esac

if [ "$CPUS" = "" ]; then
    threads=2
else
    threads=`expr $CPUS + 1`
fi

sh boot
./configure $config_args

make -j$threads

# ToDo: use THREADS=$threads, see #1558
make -C testsuite/tests/ghc-regress fast stage=2 CLEANUP=1 2>&1 | tee testlog

if
    grep '\<0 caused framework failures' testlog >/dev/null 2>/dev/null &&
    grep '\<0 unexpected passes' testlog >/dev/null 2>/dev/null &&
    grep '\<0 unexpected failures' testlog >/dev/null 2>/dev/null ; then
   echo "-------------------------------------------------------------------"
   echo "Congratulations!  This tree is has passed minimal testing."
   echo
   echo "NOTE: If you have made changes that may cause failures not tested"
   echo "for by the minimal testing procedure, please do further testing"
   echo "as necessary."
   echo
   echo "When you are satisfied that you haven't broken anything, go ahead"
   echo "and push/send your patches".
   echo "-------------------------------------------------------------------"
else
   echo "-------------------------------------------------------------------"
   echo "Oops!  Looks like you have some unexpected test results or"
   echo "framework failures."
   echo "Please fix them before pushing/sending patches."
   echo "-------------------------------------------------------------------"
fi