X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=test%2FTEST.mk;h=863acd379721f258e3288e11e723fdd6b0406e01;hp=11cbb164ee017bc83fdb90e60f8a4896191fa0db;hb=8c79c17479ba941bb9cba604143f99137928d52f;hpb=205ee1afdbd7eaffa3a12febfaa560c89280e7dd diff --git a/test/TEST.mk b/test/TEST.mk index 11cbb16..863acd3 100644 --- a/test/TEST.mk +++ b/test/TEST.mk @@ -1,4 +1,7 @@ # テストのテンプレート +# 次の変数を定義する +# CMD: 実行するコマンド +# MAINTARGET_OVERRIDE: メインターゲットを独自に定義し、オーバーライドする # make : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート # make check : ↓ # make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力 @@ -6,7 +9,6 @@ # make cleanall: 「make」と「make prepare」で生成されたファイルをクリア ERRFILE = err.txt UNITNAME = `pwd | xargs basename` -# 要定義: CMD, CMDFILE, OBJFILE .PHPNY: check prepare clean cleanall check: clean report.txt @@ -15,13 +17,13 @@ clean: @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; \