X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=test%2FMakefile.TESTGROUPS.mk;fp=test%2FMakefile.TESTGROUPS.mk;h=4c12356cfedf807f0e7c8747c7c1114a07fe86ba;hb=350188e12a316928e5b2d8473f580528b2780d8b;hp=0000000000000000000000000000000000000000;hpb=faec695d5b7ecf7dd3e4a07ac926ea93ca89020b;p=YACASL2.git diff --git a/test/Makefile.TESTGROUPS.mk b/test/Makefile.TESTGROUPS.mk new file mode 100644 index 0000000..4c12356 --- /dev/null +++ b/test/Makefile.TESTGROUPS.mk @@ -0,0 +1,46 @@ +# テストグループ +# make : すべてのテストを実施し、ログを作成 +# make all : ↓ +# make clean : すべてのテストで、「make」で生成されたファイルをクリア +# make check : すべてのテストを実施 +# make cleanall: すべてのテストで、「make」と「make prepare」で生成されたファイルをクリア +# make prepare : すべてのテストの、想定結果を出力 +# make create : UNITNAMEで指定されたテストを新規に作成 +TESTS = `ls | grep "^[^A-Z].*"` +LOGFILE = TEST.log + +.PHONY: all check report clean cleanall prepare create +all: check report +check: + @rm -f $(LOGFILE) + @for target in $(TESTS); do \ + $(MAKE) check -C $$target; \ + done +$(LOGFILE): + @for target in $(TESTS); do \ + cat <$$target/report.txt >>$(LOGFILE); \ + done +report: $(LOGFILE) + @success=`grep "Success" $(LOGFILE) | wc -l`; \ + all=`cat $(LOGFILE) | wc -l`; \ + echo "$$success / $$all tests passed. Details in `pwd`/$(LOGFILE)"; \ + if test $$success -eq $$all; then \ + echo "All tests are succeded."; \ + else \ + grep "Failure" $(LOGFILE); \ + 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 + @echo "no test created. set UNITNAME" +endif