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
+REALPATH := realpath
SED := sed
TEST := test
TIME := time
TR := tr
VALGRIND := valgrind
-VALGRINDFLAG := -q --leak-check=full --log-file=valgrind.log
+VALGRINDFLAG := -q --leak-check=full --show-leak-kinds=all --log-file=valgrind.log
######################################################################
# テストグループとテストでの共通マクロ
($(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
# テスト実行コマンド。
@$(CAT) $(TEST0_FILE)
clean:
- @$(RM) $(TEST_RES_FILES) $(TIME_FILE) $(VALGRIND_FILE)
+ @$(RM) $(TEST_RES_FILES) $(TIME_FILE) $(VALGRIND_FILE) core
all-clean: clean
@$(RM) $(TEST0_FILE)