X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=doc%2Fcasl2lib%2FTest.mk;fp=doc%2Fcasl2lib%2FTest.mk;h=edfa2786237e7c510412c98057d0ca8807a80198;hp=0000000000000000000000000000000000000000;hb=3c757d760e9af5c84f56e8e3e4cc69eb85721d7c;hpb=e934f979236c43e098be7b500e7bc11103911630 diff --git a/doc/casl2lib/Test.mk b/doc/casl2lib/Test.mk new file mode 100644 index 0000000..edfa278 --- /dev/null +++ b/doc/casl2lib/Test.mk @@ -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),$^,$@)