# autotest.mk > test_template > Test.mk
# 自動テスト用のMakefile
#
-# 要: Define.mk
+# 要: Define.mk Define_test.mk
#
# オペレーター
# make : CMDの標準出力をTEST1_FILEに保存したあと、TEST0_FILEとの差分を比較し、結果をLOG_FILEに出力
# make clean : "make" で作成されたファイルをクリア
# make cleanall: "make" と "make set" で作成されたファイルをクリア
+SHELL = /bin/sh
+
+# テスト名。カレントディレクトリー名から取得
+TEST = $(notdir $(CURRDIR))
+
+# コマンドファイルのソース
+CMDSRC_FILE := $(CMD_FILE)
+#CMDSRC_FILE := $(CMD_FILE).c
+
.PHONY: check set reset time cleantime clean cleanall
-check: clean $(LOG_FILE)
+check: clean $(DETAIL_FILE)
+ @$(call disp_test_log,$(LOG_FILE))
+
+checkall: check $(TIME_FILE)
+ @$(CAT) $(TIME_FILE) >>$(LOG_FILE)
+ @$(call disp_test_log,$(LOG_FILE))
set: $(TEST0_FILE)
+ @-$(call exec_cmd,$^,$@,$(ERR_FILE))
+ @$(CAT) $^
-reset: cleanall $(TEST0_FILE)
+reset: cleanall set
time: cleantime $(TIME_FILE)
@$(RM) $(TIME_FILE)
clean:
- @$(RM) $(TEST1_FILE) $(DIFF_FILE) $(LOG_FILE) $(ERR_FILE) $(TIME_FILE)
+ @$(RM) $(TEST_RES_FILES)
cleanall: clean
@$(RM) $(TEST0_FILE)
-$(TEST0_FILE) $(TEST1_FILE): $(CMD_FILE)
- @-$(CMD)
+$(TEST1_FILE): $(CMD_FILE)
+ @-$(call exec_cmd,$^,$@,$(ERR_FILE))
-$(DIFF_FILE): $(TEST1_FILE)
- @-$(DIFF) $(TEST0_FILE) $(TEST1_FILE) >$@ 2>&1
+$(DIFF_FILE): $(TEST0_FILE) $(TEST1_FILE)
+ @-$(call diff_files,$^,$@)
$(LOG_FILE): $(DIFF_FILE)
- @$(DESC)
- @$(REPORT_TEST)
+ @$(call test_log,$(TEST),$^,$@)
+
+$(DETAIL_FILE): $(LOG_FILE)
+ @$(call report_files,$(LOG_FILE) $(CMDSRC_FILE) $(TEST0_FILE) $(ERR_FILE) $(DIFF_FILE) $(TEST1_FILE),$@)
$(TIME_FILE): $(CMD_FILE)
- @$(TIME) ./$(CMD_FILE) 1>/dev/null && $(CAT) $@
+ @-$(call time_cmd,$(TEST),$^,$@)