テストのサンプルとして、hoc1を追加
[autotest_mk.git] / sample / hoc1 / test / Define.mk
1 ######################################################################
2 # テストテンプレートのディレクトリー
3 ######################################################################
4 # テストグループのMakefileとしてコピーされるファイル
5 GROUP_MAKEFILE = Group.mk
6
7 ######################################################################
8 # テストグループのディレクトリー
9 ######################################################################
10 # グループディレクトリー
11 GROUP_DIR = $(shell pwd)
12
13 # グループ名。ディレクトリ名から取得
14 GROUP = $(notdir $(GROUP_DIR))
15
16 # テスト名。カレントディレクトリー内の、名前が大文字または.以外で始まるディレクトリー
17 TESTS = $(notdir $(shell find -maxdepth 1 -name "[^A-Z.]*" -type d))
18
19 # テストグループとテストの両方で使う変数を定義したファイル
20 DEF_FILE = Define.mk
21
22 # テストのMakefileにインクルードするファイル
23 TEST_MAKEFILE = Test.mk
24
25 # テストグループログファイル
26 GROUP_LOG_FILE = $(shell echo $(GROUP) | tr '[a-z]' '[A-Z]').log
27
28 # 成功したテストの数。テストグループログファイルから取得
29 SUCCESS_TEST = $(shell grep "^[^A-Z.].*: Test Success" $(GROUP_LOG_FILE) | wc -l)
30
31 # 失敗したテストの数。テストグループログファイルから取得
32 FAIL_TEST = $(shell grep "^[^A-Z.].*: Test Failure" $(GROUP_LOG_FILE) | wc -l)
33
34 # すべてのテストの数。
35 ALL_TEST = $(shell expr $(SUCCESS_TEST) + $(FAIL_TEST))
36
37 ######################################################################
38 # テストのディレクトリー
39 ######################################################################
40 # テスト名。カレントディレクトリー名から取得
41 TEST = $(notdir $(shell pwd))
42
43 # テストコマンドファイル
44 CMD_FILE = cmd
45
46 # テスト説明ファイル
47 DESC_FILE = desc.txt
48
49 # テスト想定結果ファイル
50 TEST0_FILE = 0.txt
51
52 # テスト結果ファイル
53 TEST1_FILE = 1.txt
54
55 # テストの、想定結果と結果の差分ファイル
56 DIFF_FILE = diff.txt
57
58 # テストエラーファイル
59 ERR_FILE = err.txt
60
61 # テストログファイル
62 LOG_FILE = test.log
63
64 # 現在の日時
65 DATE = `date +"%F %T"`
66
67 # テスト実行コマンド。CMD_FILEを実行する。
68 # ファイルの内容と、テスト結果を表す標準出力を、ターゲットファイルに保存。
69 # エラー発生時は、エラー出力をターゲットファイルとERR_FILEに保存。
70 # ターゲットファイルは、TEST0_FILEまたはTEST1_FILE
71 CMD = \
72     chmod u+x $(CMD_FILE); \
73     cat $(CMD_FILE) >$@; \
74     ./$(CMD_FILE) >>$@ 2>$(ERR_FILE); \
75     if test -s $(ERR_FILE); then cat $(ERR_FILE) >>$@; else rm -f $(ERR_FILE); fi