CASL2のテスト時に発生した問題を修正
[autotest_mk.git] / template / Test.mk
index 5962b23..ce657bd 100644 (file)
@@ -1,7 +1,7 @@
 # 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)
 
@@ -27,20 +43,22 @@ cleantime:
        @$(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),$^,$@)