テストを、Mac OS X Snow Leopardでも正常にできるよう修正
[YACASL2.git] / test / TEST.mk
1 # テストのテンプレート
2 # 次の変数を定義する
3 #    CMD: 実行するコマンド
4 #    MAINTARGET_OVERRIDE: メインターゲットを独自に定義し、オーバーライドする
5 # make         : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート
6 # make check   : ↓
7 # make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
8 # make clean   : 「make」で生成されたファイルをクリア
9 # make cleanall: 「make」と「make prepare」で生成されたファイルをクリア
10 ERRFILE = err.txt
11 UNITNAME = `pwd | xargs basename`
12
13 .PHPNY: check prepare clean cleanall
14 check: clean report.txt
15 prepare: cleanall 0.txt
16 clean:
17         @rm -f 1.txt diff.txt report.txt err.txt
18 cleanall: clean
19         @rm -f 0.txt
20 ifndef MAINTARGET_OVERRIDE
21 0.txt 1.txt:
22         @echo $(CMD) >$@; \
23      $(CMD) >>$@ 2>$(ERRFILE); \
24      if test -s $(ERRFILE); then cat err.txt >>$@; else rm -f $(ERRFILE); fi
25 endif
26 diff.txt: 1.txt
27         @-diff -c 0.txt 1.txt >$@ 2>&1
28 report.txt: diff.txt
29         @if test ! -s $^; then echo "$(UNITNAME): Test Success " `date +"%F %T"` >>$@; rm -f $^; else echo "$(UNITNAME): Test Failure " `date +"%F %T"` >>$@; fi; \