#!/bin/sh # Flags: # --no-clean: don't make clean first, just carry on from # a previous interrupted validation run # --testsuite-only: don't build the compiler, just run # the test suite set -e no_clean=0 testsuite_only=0 while [ $# -gt 0 ] do case "$1" in --no-clean) no_clean=1 ;; --testsuite-only) testsuite_only=1 ;; *) echo "Bad argument: $1" >&2 exit 1;; esac shift done if [ $testsuite_only -eq 0 ]; then if [ $no_clean -eq 0 ] && [ -f mk/config.mk ]; then make distclean fi 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 "--prefix=`pwd`/inst" $config_args make Validating=YES -j$threads fi # testsuite-only # ToDo: use THREADS=$threads, see #1558 make Validating=YES -C testsuite/tests/ghc-regress fast stage=2 CLEANUP=1 2>&1 | tee testlog echo "-------------------------------------------------------------------" 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 if [ $testsuite_only -eq 0 ] && [ $no_clean -eq 0 ] then cat <