c7add99852285d4591c71cd773b82758cf5992ff
[YACASL2.git] / test / integration / casl2 / TEST.mk
1 # テストのテンプレート
2 # make         : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート
3 # make check   : ↓
4 # make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
5 # make clean   : 「make」で生成されたファイルをクリア
6 # make cleanall: 「make」と「make clean」で生成されたファイルをクリア
7 UNITNAME = `pwd | xargs basename`
8
9 .PHPNY: check prepare clean cleanall
10 check: clean report.txt
11 prepare: cleanall 0.txt
12 clean:
13         @rm -f 1.txt diff.txt report.txt err.txt
14 cleanall: clean
15         @rm -f 0.txt
16 ifndef SETBYOTHER
17 0.txt 1.txt: $(CASL2) $(ASFILE)
18         @echo $(CMD) >$@; \
19      $(CMD) >>$@ 2>err.txt; \
20      if test -s err.txt; then cat err.txt >>$@; else rm -f err.txt; fi
21 endif
22 diff.txt: 1.txt
23         @-diff -c 0.txt 1.txt >$@ 2>&1
24 report.txt: diff.txt
25         @echo -n "$(UNITNAME): Test " >$@; \
26      if test ! -s $^; then echo -n "Success " >>$@; rm -f $^; else echo -n "Failure " >>$@; fi; \
27      echo `date +"%F %T"` >>$@