統合テストに、最新版Autotest.mkを反映
[YACASL2.git] / test / system / comet2 / Test.mk
diff --git a/test/system/comet2/Test.mk b/test/system/comet2/Test.mk
new file mode 100644 (file)
index 0000000..edfa278
--- /dev/null
@@ -0,0 +1,65 @@
+# autotest.mk > test_template > Test.mk
+# 自動テスト用のMakefile
+#
+# 要: Define.mk Define_test.mk
+#
+# オペレーター
+# make         : CMDの標準出力をTEST1_FILEに保存したあと、TEST0_FILEとの差分を比較し、結果をLOG_FILEに出力
+# make check   : ↓
+# make set     : CMDの標準出力をTEST0_FILEに保存。TEST0_FILEが存在する場合は実行しない
+# make reset   : CMDの標準出力をTEST0_FILEに保存。TEST0_FILEが存在する場合は上書き
+# make time    : CMDの実行にかかった時間をTIME_FILEに保存し、出力
+# make cleantime: "make time" で作成されたファイルをクリア
+# make clean   : "make" で作成されたファイルをクリア
+# make cleanall: "make" と "make set" で作成されたファイルをクリア
+
+SHELL = /bin/sh
+
+# テスト名。カレントディレクトリー名から取得
+TEST = $(notdir $(CURRDIR))
+
+.PHONY: check set reset time cleantime clean cleanall
+
+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)
+       @$(CAT) $^
+
+reset: cleanall $(TEST0_FILE)
+       @$(CAT) $(TEST0_FILE)
+
+time: cleantime $(TIME_FILE)
+
+cleantime:
+       @$(RM) $(TIME_FILE)
+
+clean:
+       @$(RM) $(TEST_RES_FILES)
+
+cleanall: clean
+       @$(RM) $(TEST0_FILE)
+
+$(CMD_FILE):
+       @$(call chk_file_notext,$@)
+       @$(CHMOD) u+x $@
+
+$(TEST0_FILE) $(TEST1_FILE): $(CMD_FILE)
+       @-$(call exec_cmd,$^,$@,$(ERR_FILE))
+
+$(DIFF_FILE): $(TEST0_FILE) $(TEST1_FILE)
+       @$(call chk_file_notext,$(TEST0_FILE))
+       @-$(call diff_files,$^,$@)
+
+$(LOG_FILE): $(DIFF_FILE)
+       @$(call test_log,$(TEST),$^,$@)
+
+$(DETAIL_FILE): $(LOG_FILE)
+       @$(call report_files,$(LOG_FILE) $(CMD_FILE) $(TEST0_FILE) $(ERR_FILE) $(DIFF_FILE) $(TEST1_FILE),$@)
+
+$(TIME_FILE): $(CMD_FILE)
+       @-$(call time_cmd,$(TEST),$^,$@)