# テストのテンプレート
+# 次の変数を定義する
+# CMD: 実行するコマンド
+# MAINTARGET_OVERRIDE: メインターゲットを独自に定義し、オーバーライドする
# make : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート
# make check : ↓
# make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
# make cleanall: 「make」と「make prepare」で生成されたファイルをクリア
ERRFILE = err.txt
UNITNAME = `pwd | xargs basename`
-# 要定義: CMD, CMDFILE, OBJFILE
.PHPNY: check prepare clean cleanall
check: clean report.txt
@rm -f 1.txt diff.txt report.txt err.txt
cleanall: clean
@rm -f 0.txt
-0.txt 1.txt: $(CMDFILE) $(OBJFILE)
+ifndef MAINTARGET_OVERRIDE
+0.txt 1.txt:
@echo $(CMD) >$@; \
$(CMD) >>$@ 2>$(ERRFILE); \
if test -s $(ERRFILE); then cat err.txt >>$@; else rm -f $(ERRFILE); fi
+endif
diff.txt: 1.txt
@-diff -c 0.txt 1.txt >$@ 2>&1
report.txt: diff.txt
- @echo -n "$(UNITNAME): Test " >$@; \
- if test ! -s $^; then echo -n "Success " >>$@; rm -f $^; else echo -n "Failure " >>$@; fi; \
- echo `date +"%F %T"` >>$@
+ @if test ! -s $^; then echo "$(UNITNAME): Test Success " `date +"%F %T"` >>$@; rm -f $^; else echo "$(UNITNAME): Test Failure " `date +"%F %T"` >>$@; fi; \
check: checkeach report
checkeach:
@rm -f $(LOGFILE)
- @for target in $(TESTS); do \
- $(MAKE) check -C $$target; \
- done
+ @for target in $(TESTS); do $(MAKE) check -C $$target; done
$(LOGFILE):
@for target in $(TESTS); do \
cat <$$target/report.txt >>$(LOGFILE) || echo $$target ": no report" >>$(LOGFILE); \
+++ /dev/null
-# テストのテンプレート
-# make : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート
-# make check : ↓
-# make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
-# make clean : 「make」で生成されたファイルをクリア
-# make cleanall: 「make」と「make clean」で生成されたファイルをクリア
-UNITNAME = `pwd | xargs basename`
-
-.PHPNY: check prepare clean cleanall
-check: clean report.txt
-prepare: cleanall 0.txt
-clean:
- @rm -f 1.txt diff.txt report.txt err.txt
-cleanall: clean
- @rm -f 0.txt
-ifndef SETBYOTHER
-0.txt 1.txt: $(CASL2) $(ASFILE)
- @echo $(CMD) >$@; \
- $(CMD) >>$@ 2>err.txt; \
- if test -s err.txt; then cat err.txt >>$@; else rm -f err.txt; fi
-endif
-diff.txt: 1.txt
- @-diff -c 0.txt 1.txt >$@ 2>&1
-report.txt: diff.txt
- @echo -n "$(UNITNAME): Test " >$@; \
- if test ! -s $^; then echo -n "Success " >>$@; rm -f $^; else echo -n "Failure " >>$@; fi; \
- echo `date +"%F %T"` >>$@
--- /dev/null
+../../TEST.mk
\ No newline at end of file
diff.txt: 1.txt
@-diff -b 0.txt 1.txt >$@ 2>&1
report.txt: diff.txt
- @echo -n "$(UNITNAME): Test " >$@; \
- if test ! -s $^; then echo -n "Success " >>$@; rm -f $^; else echo -n "Failure " >>$@; fi; \
- echo `date +"%F %T"` >>$@
+ @if test ! -s $^; then echo "$(UNITNAME): Test Success " `date +"%F %T"` >>$@; rm -f $^; else echo "$(UNITNAME): Test Failure " `date +"%F %T"` >>$@; fi; \
include ../CMD.mk # YACASL2DIR, CASL2
include ../opt_s/CMD.mk # ASDIR, ASFILE
CASL2FLAG = -z
-SETBYOTHER = 0
+MAINTARGET_OVERRIDE = 1
CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
include ../TEST.mk
0.txt 1.txt: $(CASL2) $(ASFILE)
- @$(CMD) >>$@ 2>err.txt; \
- if test -s err.txt; then tail -1 err.txt >>$@; else rm -f err.txt; fi
+ @$(CMD) >>$@ 2>$(ERRFILE); \
+ if test -s $(ERRFILE); then tail -1 $(ERRFILE) >>$@; else rm -f $(ERRFILE); fi
# テストのテンプレート
+# 次の変数を定義する
+# CMD: 実行するコマンド
+# MAINTARGET_OVERRIDE: メインターゲットを独自に定義し、オーバーライドする
# make : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート
# make check : ↓
# make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
# make clean : 「make」で生成されたファイルをクリア
-# make cleanall: 「make」と「make clean」で生成されたファイルをクリア
+# make cleanall: 「make」と「make prepare」で生成されたファイルをクリア
ERRFILE = err.txt
UNITNAME = `pwd | xargs basename`
@rm -f 0.txt $(OBJFILE)
$(OBJFILE): $(CASL2) $(ASFILE)
@-$(ASCMD)
+ifndef MAINTARGET_OVERRIDE
0.txt 1.txt: $(COMET2) $(OBJFILE)
@echo $(EXECCMD) >$@; \
if test -s $(OBJFILE); then $(EXECCMD) >>$@ 2>$(ERRFILE); fi; \
if test -s $(ERRFILE); then cat err.txt >>$@; else rm -f $(ERRFILE); fi
+endif
diff.txt: 1.txt
@-diff -c 0.txt 1.txt >$@ 2>&1
report.txt: diff.txt
- @echo -n "$(UNITNAME): Test " >$@; \
- if test ! -s $^; then echo -n "Success " >>$@; rm -f $^; else echo -n "Failure " >>$@; fi; \
- echo `date +"%F %T"` >>$@
+ @if test ! -s $^; then echo "$(UNITNAME): Test Success " `date +"%F %T"` >>$@; rm -f $^; else echo "$(UNITNAME): Test Failure " `date +"%F %T"` >>$@; fi; \
diff.txt: 1.txt
@-diff -c 0.txt 1.txt >$@ 2>&1
report.txt: diff.txt
- @echo -n "$(UNITNAME): Test " >$@; \
- if test ! -s $^; then echo -n "Success " >>$@; rm -f $^; else echo -n "Failure " >>$@; fi; \
- echo `date +"%F %T"` >>$@
+ @if test ! -s $^; then echo "$(UNITNAME): Test Success " `date +"%F %T"` >>$@; rm -f $^; else echo "$(UNITNAME): Test Failure " `date +"%F %T"` >>$@; fi; \