X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=template%2FTest.mk;h=e8a3135a86cf10eefe17230d17bb2fbf53a7add3;hb=1f0735b23c07158176ff4c2c856e1811de7631eb;hp=def57ebe24d5fc85a1aedaa474720250246433aa;hpb=f12b187e9169ff1bf6acf3b3bfb17ee458baabe4;p=autotest_mk.git diff --git a/template/Test.mk b/template/Test.mk index def57eb..e8a3135 100644 --- a/template/Test.mk +++ b/template/Test.mk @@ -39,16 +39,16 @@ define time_cmd ($(TIME) ./$1 1>$(DEV_NULL) 2>$(DEV_NULL)) 2>&1 | $(GREP) '^real' >$2 endef -CMD_VALGRIND = $(strip $(shell if test "`$(FILE) $(CMD_FILE)`" = "data"; then cat $(CMD_FILE); else $(PRINTF) "./$(CMD_FILE)"; fi)) +VALGRIND_CMD = $(strip $(shell if test -s $(VALGRIND_CMD_FILE); then $(CAT) $(VALGRIND_CMD_FILE); elif test "`$(FILE) $(CMD_FILE)`" = "data"; then $(CAT) $(CMD_FILE); else $(PRINTF) "./$(CMD_FILE)"; fi)) # valgrindによるメモリーチェック結果を、指定されたファイルに出力して表示 # 引数は、テスト名、コマンドファイル、出力ファイル # 用例: $(call valgrind_cmd,file_cmd,file_out) define valgrind_cmd - -$(VALGRIND) $(VALGRINDFLAG) $(CMD_VALGRIND) 1>/dev/null 2>&1 + -$(VALGRIND) $(VALGRINDFLAG) $(VALGRIND_CMD) 1>/dev/null 2>&1 endef -# テスト実行コマンド。 +# テスト実行コマンド # コマンドファイルを実行し、標準出力を指定されたファイルに保存。 # エラー発生時は、エラー出力を出力ファイルとエラーファイルに保存。 # 引数は、コマンドファイル、出力ファイル、エラーファイル @@ -129,7 +129,7 @@ reset: all-clean $(CMD_FILE) @$(CAT) $(TEST0_FILE) clean: - @$(RM) $(TEST_RES_FILES) $(TIME_FILE) $(VALGRIND_FILE) core + @$(RM) $(TEST_RES_FILES) $(TIME_FILE) $(VALGRIND_LOGFILE) $(VALGRIND_CMDLOGFILE) core all-clean: clean @$(RM) $(TEST0_FILE) @@ -140,11 +140,14 @@ time: time-clean $(TIME_FILE) time-clean: @$(RM) $(TIME_FILE) -valgrind: valgrind-clean $(VALGRIND_FILE) - if test -s $(VALGRIND_FILE); then $(ECHO) $(CURDIR) && $(CAT) $(VALGRIND_FILE); else $(RM) $(VALGRIND_FILE); fi +valgrind: valgrind-clean $(VALGRIND_LOGFILE) $(VALGRIND_CMDLOGFILE) + if test -s $(VALGRIND_LOGFILE); then $(ECHO) $(CURDIR) && $(CAT) $(VALGRIND_LOGFILE); else $(RM) $(VALGRIND_LOGFILE); fi + +$(VALGRIND_CMDLOGFILE): $(VALGRIND_LOGFILE) + @$(PRINTF) "$(VALGRIND) $(VALGRINDFLAG) $(VALGRIND_CMD)\n" | $(CAT) - $(VALGRIND_LOGFILE) >$(VALGRIND_CMDLOGFILE) valgrind-clean: - @$(RM) $(VALGRIND_FILE) + @$(RM) $(VALGRIND_LOGFILE) $(TEST1_FILE): $(CMD_FILE) @-$(call exec_cmd,$^,$@,$(ERR_FILE)) @@ -161,5 +164,5 @@ $(DETAIL_FILE): $(LOG_FILE) $(TIME_FILE): $(CMD_FILE) @$(call time_cmd,$^,$@) -$(VALGRIND_FILE): $(CMD_FILE) +$(VALGRIND_LOGFILE): $(CMD_FILE) $(call valgrind_cmd,$^,$@)