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 -f $(GROUP_LOG_FILE)
33 @for target in $(TESTS); do $(MAKE) check -C $$target; done
36 @for target in $(TESTS); do 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
43 @for target in $(TESTS); do $(MAKE) clean -C $$target; done
44 @rm -f $(GROUP_LOG_FILE)
47 @for target in $(TESTS); do $(MAKE) cleanall -C $$target; done
48 @rm -f $(GROUP_LOG_FILE)