リファクタリング
[autotest_mk.git] / template / Test.mk
1 # autotest.mk > test_template > test.mk
2 # 自動テスト用のMakefile
3 #
4 # 要: Define.mk
5 #
6 # オペレーター
7 # make         : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート
8 # make check   : ↓
9 # make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
10 # make clean   : 「make」で生成されたファイルをクリア
11 # make cleanall: 「make」と「make prepare」で生成されたファイルをクリア
12
13 .PHONY: check set reset clean cleanall
14
15 check: clean $(LOG_FILE)
16
17 set: $(TEST0_FILE)
18
19 reset: cleanall $(TEST0_FILE)
20
21 clean:
22         @rm -f $(TEST1_FILE) $(DIFF_FILE) $(LOG_FILE) $(ERR_FILE)
23
24 cleanall: clean
25         @rm -f $(TEST0_FILE)
26
27 $(TEST0_FILE) $(TEST1_FILE):
28         @if test ! -s $(CMD_FILE); then echo "set command file: $(CMD_FILE)."; else $(CMD); fi
29
30 $(DIFF_FILE): $(TEST1_FILE)
31         @-diff -c $(TEST0_FILE) $(TEST1_FILE) >$@ 2>&1
32
33 $(LOG_FILE): $(DIFF_FILE)
34         @if test -s $(DESC_FILE); then cat $(DESC_FILE) >>$@; fi;
35         @if test ! -s $^; then echo "$(TEST): Test Success $(DATE)"  >>$@; else echo "$(TEST): Test Failure $(DATE)" >>$@; fi;