X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=test%2FMakefile.TESTGROUPS.mk;h=37ec308f5832e8a22f18aec7cbf75b7bf594121d;hp=22dd7ecaaab39e4f1e806bde5e0755578ae97303;hb=80a7b6329c3177a0e4050d88406b0bd12fa66ac4;hpb=a4a4d9291958ee920beaec963000248b9523389b diff --git a/test/Makefile.TESTGROUPS.mk b/test/Makefile.TESTGROUPS.mk index 22dd7ec..37ec308 100644 --- a/test/Makefile.TESTGROUPS.mk +++ b/test/Makefile.TESTGROUPS.mk @@ -6,40 +6,49 @@ # make cleanall: すべてのテストで、「make」と「make prepare」で生成されたファイルをクリア # make prepare : すべてのテストの、想定結果を出力 # make create : UNITNAMEで指定されたテストを新規に作成 +GROUPNAME = `pwd | xargs basename` TESTS = `ls | grep "^[^A-Z].*"` 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."; \ + 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 +ifndef UNITNAME + @echo "no test created. set UNITNAME" +else @mkdir $(UNITNAME) @echo 'CMD = ' >>$(UNITNAME)/Makefile; \ echo 'include ../TEST.mk' >>$(UNITNAME)/Makefile -else - @echo "no test created. set UNITNAME" endif