--- a/Makefile	2009-11-25 14:57:24.000000000 +0100
+++ b/Makefile	2009-11-25 14:57:15.000000000 +0100
@@ -29,11 +29,13 @@ SCRIPTS_GUI = test16.out
 nongui:	nolog $(SCRIPTS)
 	@echo
 	@cat test.log
+	@if grep -q FAILED test.log; then echo SOME TESTS FAILED; exit 1; fi
 	@echo ALL DONE
 
 gui:	nolog $(SCRIPTS) $(SCRIPTS_GUI)
 	@echo
 	@cat test.log
+	@if grep -q FAILED test.log; then echo SOME TESTS FAILED; exit 1; fi
 	@echo ALL DONE
 
 $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
@@ -45,7 +47,7 @@ test1.out: test1.in
 	-rm -f $*.failed tiny.vim small.vim mbyte.vim test.ok X* viminfo
 	$(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in
 	@/bin/sh -c "if diff test.out $*.ok; \
-		then mv -f test.out $*.out; \
+		then echo test1 PASS >>test.log; mv -f test.out $*.out; \
 		else echo; \
 		echo test1 FAILED - Something basic is wrong; \
 		echo; exit 1; fi"
@@ -59,7 +61,7 @@ test1.out: test1.in
 	-$(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in
 	@/bin/sh -c "if test -f test.out; then\
 		  if diff test.out $*.ok; \
-		  then mv -f test.out $*.out; \
+		  then echo $* PASS >>test.log; mv -f test.out $*.out; \
 		  else echo $* FAILED >>test.log; mv -f test.out $*.failed; \
 		  fi \
 		else echo $* NO OUTPUT >>test.log; \
