From eb75ae2b4e992a88f593fb4fc169ffb5da036f1b Mon Sep 17 00:00:00 2001 From: heister Date: Tue, 4 Sep 2012 17:44:43 +0000 Subject: [PATCH] add and document the new make report+summary in the testsuite git-svn-id: https://svn.dealii.org/trunk@26235 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/development/testsuite.html | 20 ++++++++++++++++ tests/Makefile | 12 ++++++++++ tests/Makefile.rules | 32 +++++++++++++++++++++++++- tests/all-headers/Makefile | 4 +++- tests/mesh_converter/Makefile | 4 +++- 5 files changed, 69 insertions(+), 3 deletions(-) diff --git a/deal.II/doc/development/testsuite.html b/deal.II/doc/development/testsuite.html index c0fc411fbf..a9becca692 100644 --- a/deal.II/doc/development/testsuite.html +++ b/deal.II/doc/development/testsuite.html @@ -270,6 +270,26 @@ tests nightly through a cron-job with this command, to have regular test runs.

+ +

+ To get a quick overview you can run +

+      make report+summary
+    
+ instead. This runs all the tests and outputs a table in the following format + at the end: +
+                Compiling Linking Running   Check      OK     all
+         a-framework	1	1	1	1	1	5	
+                base	0	0	0	2	185	187	
+                 lac	0	0	0	0	117	117	
+                  fe	0	0	0	4	114	118	
+             deal.II	0	0	0	2	291	293	
+         integrators	0	0	0	0	15	15	
+           multigrid	0	0	0	0	35	35	      
+		 ...
+    
+

If a test failed, you have to find out what exactly went diff --git a/tests/Makefile b/tests/Makefile index cc3a80ad51..cdcf4d72af 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -46,6 +46,18 @@ report: cd $$i ; $(MAKE) report ; cd .. ; \ done +report+summary: + -@$(MAKE) -k nofail + @for i in $(nofail-dirs) fail all-headers ; do \ + echo =======Report: $$i ======= ; \ + cd $$i ; $(MAKE) report ; cd .. ; \ + done + @echo " Compiling Linking Running Check OK all" + @for i in $(nofail-dirs) fail all-headers ; do \ + printf "%20s\t" "$$i"; \ + cd $$i ; $(MAKE) -s summary ; cd .. ; \ + done + report+mail: -@$(MAKE) -k nofail @for i in $(nofail-dirs) fail all-headers ; do \ diff --git a/tests/Makefile.rules b/tests/Makefile.rules index eb477a8068..749b0c0c8c 100644 --- a/tests/Makefile.rules +++ b/tests/Makefile.rules @@ -187,6 +187,36 @@ report: done +status=Compiling Linking Running Checking diff all + +summary: + @for curstatus in $(status) ; do \ + counter=0 ; \ + all=0 ; \ + for test in $(sort $(tests)) ; do \ + case $$test in \ + *ncpu_*) \ + if test -f $$test/status ; then \ + file=$$test/status ; \ + else \ + file=`echo $$test | $(PERL) -pi -e 's/ncpu_\d+//g;'`/status ; \ + fi ; \ + ;; \ + *) \ + file=$$test/status ; \ + ;; \ + esac ; \ + curcount=`if test -f $$file ; then grep -c $$curstatus $$file;else echo 0;fi;`; \ + all=$$(($$all+1));\ + counter=$$(($$counter+$$curcount)); \ + done; \ + if test "$$curstatus" = "all"; then printf "%s\t" $$all; \ + else if test "$$curstatus" = "diff"; then printf "%s\t" $$counter; \ + else if test "$$counter" != "0"; then printf "%s\t" $$counter; \ + else printf "%s\t" $$counter ; fi;fi;fi;\ + done;\ + printf "\n"; + report+mail: @$(MAKE) report | tee testresults @cat testresults | $(MAIL) regression-tests@dealii.org @@ -280,5 +310,5 @@ Makefile.tests: Makefile $(shell echo *.cc) > $@ -.PHONY: report show-tests clean distclean %/ref +.PHONY: report show-tests clean distclean summary %/ref diff --git a/tests/all-headers/Makefile b/tests/all-headers/Makefile index 82487180cf..e9bdf36c7f 100644 --- a/tests/all-headers/Makefile +++ b/tests/all-headers/Makefile @@ -90,5 +90,7 @@ clean: -rm -f Makefile.dep *.$(OBJEXT) \ *.g.$(OBJEXT) *.output *~ *.OK *.cc +summary: + @echo "not implemented" -.PHONY: report clean distclean all default report report+mail +.PHONY: report clean distclean all default report report+mail summary diff --git a/tests/mesh_converter/Makefile b/tests/mesh_converter/Makefile index c935ea7267..c88e598d33 100644 --- a/tests/mesh_converter/Makefile +++ b/tests/mesh_converter/Makefile @@ -89,5 +89,7 @@ clean: -rm -f Makefile.dep *.$(OBJEXT) \ *.g.$(OBJEXT) *.output *~ *.OK *.cc *.ucd *.log +summary: + @printf "not implemented\n" -.PHONY: report clean distclean all default report report+mail +.PHONY: report clean distclean all default report report+mail summary -- 2.39.5