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))
38 GROUP_TIME_FILE = $(shell echo $(GROUP) | tr '[a-z]' '[A-Z]').log
40 ######################################################################
42 ######################################################################
43 # テスト名。カレントディレクトリー名から取得
44 TEST = $(notdir $(shell pwd))
47 DATE = $(shell date +"%F %T")
73 ######################################################################
75 ######################################################################
95 DESC = if test -s $(DESC_FILE); then cat $(DESC_FILE) >>$@; fi;
97 # 2ファイルの差分を出力。引数は2ファイル
100 # ファイルを実行可能にする。引数は1ファイル
104 # ファイルの内容と、CMD_FILE実行の標準出力を、ターゲットファイルに保存。
105 # エラー発生時は、エラー出力をターゲットファイルとERR_FILEに保存。
106 # ターゲットファイルは、TEST0_FILEまたはTEST1_FILE
108 $(CHMOD) $(CMD_FILE); \
109 $(CAT) $(CMD_FILE) >$@; \
110 ./$(CMD_FILE) >>$@ 2>$(ERR_FILE); \
111 if test -s $(ERR_FILE); then $(CAT) $(ERR_FILE) >>$@; else $(RM) $(ERR_FILE); fi
114 REPORT_TEST = if test ! -s $^; then $(ECHO) "$(TEST): Test Success $(DATE)" >>$@; else $(ECHO) "$(TEST): Test Failure $(DATE)" >>$@; fi;