コンパイルしてcmdファイルを作成できるよう修正
authorj8takagi <j8takagi@nifty.com>
Mon, 13 Dec 2010 15:27:59 +0000 (00:27 +0900)
committerj8takagi <j8takagi@nifty.com>
Mon, 13 Dec 2010 15:27:59 +0000 (00:27 +0900)
template/Define.mk
template/Define_test.mk
template/Test.mk

index 65eace2..641f823 100644 (file)
@@ -63,12 +63,6 @@ define chk_file_ext
     $(if $(wildcard $1),$(error $1 exists in $(CURRDIR)))
 endef
 
-# chk_file_notext: 指定されたファイルが実在しない場合、エラー
-# 用例: $(call chk_file_notext,file)
-define chk_file_notext
-    $(if $(wildcard $1),,$(error $1 not exists in $(CURRDIR)))
-endef
-
 ######################################################################
 # テストグループのディレクトリー
 ######################################################################
index 78394cb..65bfcaf 100644 (file)
@@ -18,8 +18,7 @@ endef
 # 引数は、テスト名、コマンドファイル、出力ファイル
 # 用例: $(call time_cmd,name,file_cmd,file_out)
 define time_cmd
-    $(call chk_file_notext,$2)
-    $(CHMOD) u+x $2
+    if test ! -x $2; then $(CHMOD) u+x $2; fi
     $(TIME) -f"$1: %E" -o $3 ./$2 >$(DEV_NULL) 2>&1
 endef
 
@@ -28,8 +27,7 @@ endef
 # エラー発生時は、エラー出力を出力ファイルとエラーファイルに保存。
 # 用例: $(call exec_cmd,file_cmd,file_out,file_err)
 define exec_cmd
-    $(call chk_file_notext,$1)
-    $(CHMOD) u+x $1
+    @if test ! -x $1; then $(CHMOD) u+x $1; fi
     ./$1 >>$2 2>$3
     if test -s $3; then $(CAT) $3 >>$2; fi
     $(call rm_null,$3)
index edfa278..8e2628d 100644 (file)
@@ -18,6 +18,10 @@ SHELL = /bin/sh
 # テスト名。カレントディレクトリー名から取得
 TEST = $(notdir $(CURRDIR))
 
+# コマンドファイルのソース
+#CMDSRC_FILE := $(CMD_FILE)
+CMDSRC_FILE := $(CMD_FILE).c
+
 .PHONY: check set reset time cleantime clean cleanall
 
 check: clean $(DETAIL_FILE)
@@ -44,22 +48,18 @@ clean:
 cleanall: clean
        @$(RM) $(TEST0_FILE)
 
-$(CMD_FILE):
-       @$(call chk_file_notext,$@)
-       @$(CHMOD) u+x $@
-
 $(TEST0_FILE) $(TEST1_FILE): $(CMD_FILE)
        @-$(call exec_cmd,$^,$@,$(ERR_FILE))
 
 $(DIFF_FILE): $(TEST0_FILE) $(TEST1_FILE)
-       @$(call chk_file_notext,$(TEST0_FILE))
        @-$(call diff_files,$^,$@)
 
 $(LOG_FILE): $(DIFF_FILE)
        @$(call test_log,$(TEST),$^,$@)
 
 $(DETAIL_FILE): $(LOG_FILE)
-       @$(call report_files,$(LOG_FILE) $(CMD_FILE) $(TEST0_FILE) $(ERR_FILE) $(DIFF_FILE) $(TEST1_FILE),$@)
+       @$(call report_files,$(LOG_FILE) $(CMDSRC_FILE) $(TEST0_FILE) $(ERR_FILE) $(DIFF_FILE) $(TEST1_FILE),$@)
 
 $(TIME_FILE): $(CMD_FILE)
+       @if test ! -x $^; then $(CHMOD) u+x $^; fi
        @-$(call time_cmd,$(TEST),$^,$@)