From: j8takagi Date: Thu, 2 Apr 2015 23:16:19 +0000 (+0900) Subject: 失敗したテストがある場合、失敗テストのリストを表示するように仕様変更 X-Git-Tag: 0.2p12 X-Git-Url: https://j8takagi.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9226080df15873b1f837efce5c85ecaee1ca1a5;p=autotest_mk.git 失敗したテストがある場合、失敗テストのリストを表示するように仕様変更 --- diff --git a/VERSION b/VERSION index c38a611..fa70c3a 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -0.2p11 +0.2p12 diff --git a/template/Define.mk b/template/Define.mk index f2715d1..d4c3b94 100644 --- a/template/Define.mk +++ b/template/Define.mk @@ -34,6 +34,7 @@ LN := ln -s MKDIR := mkdir -p MV := mv SED := sed +TEST := test TIME := time TR := tr VALGRIND := valgrind diff --git a/template/Group.mk b/template/Group.mk index fa222d9..5a6f8d6 100644 --- a/template/Group.mk +++ b/template/Group.mk @@ -12,8 +12,6 @@ # make valgrind: すべてのテストで、valgrindによるメモリリークチェックを実行する # make valgrind-clean: すべてのテストで、valgrindのログファイルをクリア -SHELL = /bin/sh - include Define.mk verbose ?= 1 @@ -65,7 +63,7 @@ endef # 用例: $(call group_log_each,file_test_log,file_group_log) define group_log_each $(ECHO) $(dir $1) >>$2; - if test -s $1; then $(CAT) $1 >>$2; else $(ECHO) $(dir $1)": no log" >>$2; fi + if $(TEST) -s $1; then $(CAT) $1 >>$2; else $(ECHO) $(dir $1)": no log" >>$2; fi $(ECHO) >>$2; endef @@ -89,7 +87,7 @@ TEST_VALGRIND_FILES := $(foreach test,$(TESTS),$(test)/$(VALGRIND_FILE)) # 用例: $(call group_report,name,file_log,file_report) define group_report $(ECHO) '$1: $(SUCCESS_TEST) / $(ALL_TEST) tests passed. Details in $(GROUP_DIR)/$2' >$3 - if test $(FAIL_TEST) -eq 0; then $(ECHO) "$1: All tests are succeded." >>$3; fi + if $(TEST) $(FAIL_TEST) -eq 0; then $(ECHO) "$1: All tests are succeded." >>$3; fi endef # リストで指定したディレクトリーでmakeを実行 @@ -109,6 +107,7 @@ endef check checkall: clean $(GROUP_REPORT_FILE) @$(CAT) $(GROUP_REPORT_FILE) + @(if $(TEST) $(FAIL_TEST) -gt 0; then $(GREP) 'Failure' $(GROUP_LOG_FILE); fi) @exit $(FAIL_TEST) time: time-clean $(GROUP_TIME_FILE) diff --git a/template/Test.mk b/template/Test.mk index 56c0766..13178f6 100644 --- a/template/Test.mk +++ b/template/Test.mk @@ -1,7 +1,7 @@ # autotest.mk > test_template > Test.mk # 自動テスト用のMakefile # -# 要: Define.mk Define_test.mk +# 要: Define.mk # # オペレーター # make : CMDの標準出力をTEST1_FILEに保存したあと、TEST0_FILEとの差分を比較し、結果をLOG_FILEに出力 @@ -13,12 +13,10 @@ # make valgrind: valgrind CMDの標準出力をVARGRIND_FILEに保存 # make clean : "make" で作成されたファイルをクリア # make all-clean: "make" と "make set" で作成されたファイルをクリア -SHELL = /bin/bash ###################################################################### # マクロ ###################################################################### - # 指定されたファイルをチェックし、空の場合は削除 # 引数は、対象ファイル # 用例: $(call rm_null,file_target)