From: j8takagi Date: Fri, 15 Feb 2019 12:49:04 +0000 (+0900) Subject: テストで、シェルスクリプトでもC言語実行ファイルでもmake valgrindする X-Git-Tag: v0.5p5~7 X-Git-Url: https://j8takagi.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54d0e2576394a74d8bab0ff8889f065d8fd7aaf2;p=YACASL2.git テストで、シェルスクリプトでもC言語実行ファイルでもmake valgrindする --- diff --git a/test/Template/Define.mk b/test/Template/Define.mk index 0b04fce..da36d60 100644 --- a/test/Template/Define.mk +++ b/test/Template/Define.mk @@ -27,12 +27,14 @@ DEV_NULL := /dev/null DIFF := diff -c ECHO := echo EXPR := expr +FILE := file -b -e ascii FIND := find GREP := grep LINECOUNT := wc -l LN := ln -s MKDIR := mkdir -p MV := mv +PRINTF := printf SED := sed TEST := test TIME := time diff --git a/test/Template/Test.mk b/test/Template/Test.mk index e6226c1..def57eb 100644 --- a/test/Template/Test.mk +++ b/test/Template/Test.mk @@ -39,11 +39,13 @@ 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によるメモリーチェック結果を、指定されたファイルに出力して表示 # 引数は、テスト名、コマンドファイル、出力ファイル # 用例: $(call valgrind_cmd,file_cmd,file_out) define valgrind_cmd - -$(VALGRIND) $(VALGRINDFLAG) $(strip $(shell tail -1 $(CMD_FILE))) 1>/dev/null 2>&1 + -$(VALGRIND) $(VALGRINDFLAG) $(CMD_VALGRIND) 1>/dev/null 2>&1 endef # テスト実行コマンド。