1 ######################################################################
3 ######################################################################
4 # テストグループのMakefileとしてコピーされるファイル
5 GROUP_MAKEFILE = Group.mk
7 ######################################################################
9 ######################################################################
11 GROUP_DIR = $(shell pwd)
14 GROUP = $(notdir $(GROUP_DIR))
16 # テスト名。カレントディレクトリー内の、名前が大文字または.以外で始まるディレクトリー
17 TESTS = $(notdir $(shell find -maxdepth 1 -name "[^A-Z.]*" -type d))
19 # テストグループとテストの両方で使う変数を定義したファイル
22 # テストのMakefileにインクルードするファイル
23 TEST_MAKEFILE = Test.mk
26 GROUP_LOG_FILE = $(shell echo $(GROUP) | tr '[a-z]' '[A-Z]').log
28 # 成功したテストの数。テストグループログファイルから取得
29 SUCCESS_TEST = $(shell grep "^[^A-Z.].*: Test Success" $(GROUP_LOG_FILE) | wc -l)
31 # 失敗したテストの数。テストグループログファイルから取得
32 FAIL_TEST = $(shell grep "^[^A-Z.].*: Test Failure" $(GROUP_LOG_FILE) | wc -l)
35 ALL_TEST = $(shell expr $(SUCCESS_TEST) + $(FAIL_TEST))
37 ######################################################################
39 ######################################################################
40 # テスト名。カレントディレクトリー名から取得
41 TEST = $(notdir $(shell pwd))
65 DATE = `date +"%F %T"`
67 # テスト実行コマンド。CMD_FILEを実行する。
68 # ファイルの内容と、テスト結果を表す標準出力を、ターゲットファイルに保存。
69 # エラー発生時は、エラー出力をターゲットファイルとERR_FILEに保存。
70 # ターゲットファイルは、TEST0_FILEまたはTEST1_FILE
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