From: j8takagi Date: Thu, 4 Nov 2010 01:57:48 +0000 (+0900) Subject: テストを、Mac OS X Snow Leopardでも正常にできるよう修正 X-Git-Tag: v0.1p15~26 X-Git-Url: https://j8takagi.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c79c17479ba941bb9cba604143f99137928d52f;p=YACASL2.git テストを、Mac OS X Snow Leopardでも正常にできるよう修正 --- 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; \ diff --git a/test/integration/casl2/Makefile b/test/integration/casl2/Makefile index 45c3f79..4232b19 100644 --- a/test/integration/casl2/Makefile +++ b/test/integration/casl2/Makefile @@ -14,9 +14,7 @@ LOGFILE = Test.log 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); \ diff --git a/test/integration/casl2/TEST.mk b/test/integration/casl2/TEST.mk deleted file mode 100644 index c7add99..0000000 --- a/test/integration/casl2/TEST.mk +++ /dev/null @@ -1,27 +0,0 @@ -# テストのテンプレート -# 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"` >>$@ diff --git a/test/integration/casl2/TEST.mk b/test/integration/casl2/TEST.mk new file mode 120000 index 0000000..a210cf3 --- /dev/null +++ b/test/integration/casl2/TEST.mk @@ -0,0 +1 @@ +../../TEST.mk \ No newline at end of file diff --git a/test/integration/casl2/TEST_O.mk b/test/integration/casl2/TEST_O.mk index b448d40..16c5a28 100644 --- a/test/integration/casl2/TEST_O.mk +++ b/test/integration/casl2/TEST_O.mk @@ -27,6 +27,4 @@ cleanall: clean 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; \ diff --git a/test/integration/casl2/opt_opterr/Makefile b/test/integration/casl2/opt_opterr/Makefile index 87c8b6a..2bff04d 100644 --- a/test/integration/casl2/opt_opterr/Makefile +++ b/test/integration/casl2/opt_opterr/Makefile @@ -2,9 +2,9 @@ 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 diff --git a/test/integration/comet2/TEST.mk b/test/integration/comet2/TEST.mk index e49069c..9c2744d 100644 --- a/test/integration/comet2/TEST.mk +++ b/test/integration/comet2/TEST.mk @@ -1,9 +1,12 @@ # テストのテンプレート +# 次の変数を定義する +# 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` @@ -16,13 +19,13 @@ cleanall: clean @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 --git a/test/integration/dumpword/TEST.mk b/test/integration/dumpword/TEST.mk index bbd425b..43ddf41 100644 --- a/test/integration/dumpword/TEST.mk +++ b/test/integration/dumpword/TEST.mk @@ -23,6 +23,4 @@ $(TESTSH): $(ARGFILE) 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; \