From: j8takagi Date: Sun, 14 Mar 2010 00:02:35 +0000 (+0900) Subject: テストの出力にテストグループ名追加 X-Git-Tag: v0.1p15~43 X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=commitdiff_plain;h=4895ccd356b01a8a984eded115531c45b0e40004 テストの出力にテストグループ名追加 --- diff --git a/test/Makefile.TESTGROUPS.mk b/test/Makefile.TESTGROUPS.mk index 22dd7ec..6e32f36 100644 --- a/test/Makefile.TESTGROUPS.mk +++ b/test/Makefile.TESTGROUPS.mk @@ -6,26 +6,27 @@ # 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 @@ -36,10 +37,10 @@ cleanall: 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 diff --git a/test/integration/casl2/Makefile b/test/integration/casl2/Makefile index 6b81f1f..45c3f79 100644 --- a/test/integration/casl2/Makefile +++ b/test/integration/casl2/Makefile @@ -6,6 +6,7 @@ # make cleanall: すべてのテストで、「make」と「make prepare」で生成されたファイルをクリア # make prepare : すべてのテストの、想定結果を出力 # make create : UNITNAMEで指定されたテストを新規に作成 +GROUPNAME = `pwd | xargs basename` TESTS = `ls | grep "^[^A-Z].*"` LOGFILE = Test.log @@ -23,9 +24,9 @@ $(LOGFILE): 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 @@ -50,11 +51,11 @@ ifdef ASFILE @echo 'ASFILE = $(ASFILE)' >>$(UNITNAME)/Makefile endif ifdef INFILE - @echo 'INFILE = $(INFILE)' >>$(UNITNAME)/Makefile + @echo 'INFILE = $$(INFILE)' >>$(UNITNAME)/Makefile endif @echo -n 'CMD = $$(CASL2) $$(CASL2FLAG) $$(ASFILE)' >>$(UNITNAME)/Makefile ifdef INFILE - @echo -n ' >$$(IN)' >>$(UNITNAME)/Makefile + @echo '< $$(INFILE)' >>$(UNITNAME)/Makefile endif @echo >>$(UNITNAME)/Makefile; \ echo 'include ../TEST.mk' >>$(UNITNAME)/Makefile diff --git a/test/integration/comet2/Makefile b/test/integration/comet2/Makefile index aa6807b..2da7452 100644 --- a/test/integration/comet2/Makefile +++ b/test/integration/comet2/Makefile @@ -6,41 +6,36 @@ # 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 \ - if test -s $^; then cat <$$target/report.txt >>$(LOGFILE); else echo "Failure:" $$target "no report" >>$(LOGFILE); fi; \ + 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 + @for target in $(TESTS); do $(MAKE) clean -C $$target; done @rm -f $(LOGFILE) cleanall: - @for target in $(TESTS); do \ - $(MAKE) cleanall -C $$target; \ - done + @for target in $(TESTS); do $(MAKE) cleanall -C $$target; done @rm -f $(LOGFILE) prepare: - @for target in $(TESTS) ; do \ - $(MAKE) prepare -C $$target ;\ - done + @for target in $(TESTS) ; do $(MAKE) prepare -C $$target ; done create: ifndef UNITNAME @echo "no test created. set UNITNAME" @@ -61,7 +56,7 @@ ifdef INFILE endif @echo -n 'EXECCMD = $$(COMET2) $$(COMET2FLAG) $$(OBJFILE)' >>$(UNITNAME)/Makefile ifdef INFILE - @echo '< $(INFILE)' >>$(UNITNAME)/Makefile + @echo '< $$(INFILE)' >>$(UNITNAME)/Makefile endif @echo >>$(UNITNAME)/Makefile; \ echo 'include ../TEST.mk' >>$(UNITNAME)/Makefile diff --git a/test/integration/dumpword/Makefile b/test/integration/dumpword/Makefile index 745a8a4..76b5c67 100644 --- a/test/integration/dumpword/Makefile +++ b/test/integration/dumpword/Makefile @@ -6,47 +6,42 @@ # 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) || echo $$target ": no report"; \ + 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 + @for target in $(TESTS); do $(MAKE) clean -C $$target; done @rm -f $(LOGFILE) cleanall: - @for target in $(TESTS); do \ - $(MAKE) cleanall -C $$target; \ - done + @for target in $(TESTS); do $(MAKE) cleanall -C $$target; done @rm -f $(LOGFILE) prepare: - @for target in $(TESTS) ; do \ - $(MAKE) prepare -C $$target ;\ - done + @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 'include ../CMD.mk' >$(UNITNAME)/Makefile; \ echo 'CMD = ./dumpword_$$(UNITNAME).sh' >>$(UNITNAME)/Makefile; \ echo 'include ../TEST.mk' >>$(UNITNAME)/Makefile -else - @echo "no test created. set UNITNAME" endif