1 # autotest.mk > template > Group.mk
5 # make : すべてのテストを実施し、ログファイルを作成
7 # make create : TESTNAMEで指定されたテストを新規に作成
8 # make set : すべてのテストの、想定結果を出力
9 # make checkeach: すべてのテストを実施
10 # make report : ログファイルから、テストの結果をレポート
11 # make clean : すべてのテストで、"make" で生成されたファイルをクリア
12 # make cleanall: すべてのテストで、"make" と "make set" で生成されたファイルをクリア
16 .PHONY: check create set checkeach report clean cleanall
18 check: checkeach report
22 @$(ECHO) "no test created. set TEST."
25 @for ifile in $(DEF_FILE) $(TEST_MAKEFILE); do $(ECHO) "include ../$$ifile" >>$(TEST)/Makefile; done
29 @for target in $(TESTS); do $(MAKE) set -C $$target; done
32 @$(RM) $(GROUP_LOG_FILE)
33 @for target in $(TESTS); do $(MAKE) check -C $$target; done
36 @for target in $(TESTS); do ($(ECHO) <$$target/$(LOG_FILE) && $(CAT) <$$target/$(LOG_FILE)) >>$@ || $(ECHO) $$target ": no log." >>$@; done
38 report: $(GROUP_LOG_FILE)
39 @$(ECHO) "$(GROUP): $(SUCCESS_TEST) / $(ALL_TEST) tests passed. Details in `pwd`/$(GROUP_LOG_FILE)"; \
40 if test $(FAIL_TEST) -eq 0; then $(ECHO) "$(GROUP): All tests are succeded."; fi
42 time: timeeach $(GROUP_TIME_FILE)
43 @$(CAT) $(GROUP_TIME_FILE)
46 @for target in $(TESTS); do ($(ECHO)<$$target/$(LOG_FILE) && $(CAT) <$$target/$(TIME_FILE)) >>$@ || $(ECHO) $$target ": no time." >>$@; done
49 @for target in $(TESTS); do $(MAKE) time -C $$target; done
52 @for target in $(TESTS); do $(MAKE) clean -C $$target; done
53 @$(RM) $(GROUP_LOG_FILE)