023bce0ded369eee82b75da48bfed8be9c0c4242
[YACASL2.git] / test / system / comet2 / Test.mk
1 # autotest.mk > test_template > Test.mk
2 # 自動テスト用のMakefile
3 #
4 # 要: Define.mk Define_test.mk
5 #
6 # オペレーター
7 # make         : CMDの標準出力をTEST1_FILEに保存したあと、TEST0_FILEとの差分を比較し、結果をLOG_FILEに出力
8 # make check   : ↓
9 # make set     : CMDの標準出力をTEST0_FILEに保存。TEST0_FILEが存在する場合は実行しない
10 # make reset   : CMDの標準出力をTEST0_FILEに保存。TEST0_FILEが存在する場合は上書き
11 # make time    : CMDの実行にかかった時間をTIME_FILEに保存し、出力
12 # make cleantime: "make time" で作成されたファイルをクリア
13 # make clean   : "make" で作成されたファイルをクリア
14 # make cleanall: "make" と "make set" で作成されたファイルをクリア
15
16 SHELL = /bin/bash
17
18 # テスト名。カレントディレクトリー名から取得
19 TEST = $(notdir $(CURRDIR))
20
21 # コマンドファイルのソース
22 CMDSRC_FILE := $(CMD_FILE)
23 #CMDSRC_FILE := $(CMD_FILE).c
24
25 .PHONY: check set reset time cleantime clean cleanall
26
27 check: clean $(DETAIL_FILE)
28         @$(call disp_test_log,$(LOG_FILE))
29
30 checkall: clean $(DETAIL_FILE) $(TIME_FILE)
31         @$(CAT) $(TIME_FILE) >>$(LOG_FILE)
32         @$(call disp_test_log,$(LOG_FILE))
33
34 set: $(TEST0_FILE)
35         @-$(call exec_cmd,$^,$@,$(ERR_FILE))
36         @$(CAT) $^
37
38 reset: cleanall set
39
40 time: cleantime $(TIME_FILE)
41
42 cleantime:
43         @$(RM) $(TIME_FILE)
44
45 clean:
46         @$(RM) $(TEST_RES_FILES)
47
48 cleanall: clean
49         @$(RM) $(TEST0_FILE)
50
51 $(TEST1_FILE): $(CMD_FILE)
52         @-$(call exec_cmd,$^,$@,$(ERR_FILE))
53
54 $(DIFF_FILE): $(TEST0_FILE) $(TEST1_FILE)
55         @-$(call diff_files,$^,$@)
56
57 $(LOG_FILE): $(DIFF_FILE)
58         @$(call test_log,$(TEST),$^,$@)
59
60 $(DETAIL_FILE): $(LOG_FILE)
61         @$(call report_files,$(LOG_FILE) $(CMDSRC_FILE) $(TEST0_FILE) $(ERR_FILE) $(DIFF_FILE) $(TEST1_FILE),$@)
62
63 $(TIME_FILE): $(CMD_FILE)
64         $(call time_cmd,$^,$@)