X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=test%2FMakefile.TESTGROUPS.mk;h=37ec308f5832e8a22f18aec7cbf75b7bf594121d;hp=4c12356cfedf807f0e7c8747c7c1114a07fe86ba;hb=c5e30b2f26ebc174c49c52c67121f3be81b5bd43;hpb=350188e12a316928e5b2d8473f580528b2780d8b diff --git a/test/Makefile.TESTGROUPS.mk b/test/Makefile.TESTGROUPS.mk index 4c12356..37ec308 100644 --- a/test/Makefile.TESTGROUPS.mk +++ b/test/Makefile.TESTGROUPS.mk @@ -6,41 +6,49 @@ # make cleanall: すべてのテストで、「make」と「make prepare」で生成されたファイルをクリア # make prepare : すべてのテストの、想定結果を出力 # make create : UNITNAMEで指定されたテストを新規に作成 +GROUPNAME = `pwd | xargs basename` TESTS = `ls | grep "^[^A-Z].*"` -LOGFILE = TEST.log +LOGFILE = Test.log -.PHONY: all check report clean cleanall prepare create -all: check report -check: +.PHONY: all check checkeach report clean cleanall prepare create + +check: checkeach report + +checkeach: @rm -f $(LOGFILE) @for target in $(TESTS); do \ $(MAKE) check -C $$target; \ done + $(LOGFILE): @for target in $(TESTS); do \ - cat <$$target/report.txt >>$(LOGFILE); \ + cat <$$target/report.txt >>$(LOGFILE) || echo $$target ": no report" >>$(LOGFILE); \ done + report: $(LOGFILE) @success=`grep "Success" $(LOGFILE) | wc -l`; \ all=`cat $(LOGFILE) | wc -l`; \ - echo "$$success / $$all tests passed. Details in `pwd`/$(LOGFILE)"; \ + echo "$(GROUPNAME): $$success / $$all tests passed. Details in `pwd`/$(LOGFILE)"; \ if test $$success -eq $$all; then \ - echo "All tests are succeded."; \ - else \ - grep "Failure" $(LOGFILE); \ + echo "$(GROUPNAME): All tests are succeded."; \ fi + clean: @for target in $(TESTS); do $(MAKE) clean -C $$target; done @rm -f $(LOGFILE) + cleanall: @for target in $(TESTS); do $(MAKE) cleanall -C $$target; done @rm -f $(LOGFILE) + prepare: @for target in $(TESTS) ; do $(MAKE) prepare -C $$target ; done + create: -ifdef UNITNAME - @mkdir $(UNITNAME) - @echo 'CMD = ' >>$(UNITNAME)/Makefile -else +ifndef UNITNAME @echo "no test created. set UNITNAME" +else + @mkdir $(UNITNAME) + @echo 'CMD = ' >>$(UNITNAME)/Makefile; \ + echo 'include ../TEST.mk' >>$(UNITNAME)/Makefile endif