Makeで単純回帰テストフレームワークを実装するにはどうしたらいいですか? 、私は回帰テストのセットを持っているしたいと思います`make check`や` make test`の実装
OBJS = jscheme.o utility.o model.o read.o eval.o print.o
%.o : %.c jscheme.h
gcc -c -o [email protected] $<
jscheme : $(OBJS)
gcc -o [email protected] $(OBJS)
.PHONY : clean
clean :
-rm -f jscheme $(OBJS)
:(。それが重要ならば、私は、GNU Makeを使用しています)
私の現在のメイクファイルは、この(簡単にするために編集した)のようになります例えば,expr.in
& unrecognized.in
「悪い」をテストし、expr.cmp
& unrecognized.cmp
がそれぞれの期待される出力であることをテストします。手動テストは、次のようになります。
TESTS = expr.test unrecognized.test
.PHONY test $(TESTS)
test : $(TESTS)
%.test : jscheme %.in %.cmp
jscheme <[something.in]> [something.out] 2>&1
diff -q [something.out] [something.cmp]
私の質問:
$ jscheme <expr.in> expr.out 2>&1
$ jscheme <unrecognized.in> unrecognized.out 2>&1
$ diff -q expr.out expr.cmp # identical
$ diff -q unrecognized.out unrecognized.cmp
Files unrecognized.out and unrecognized.cmp differ
私はこのような何か探してメイクファイルにルールのセットを追加すると考えられ、私は入れないどんな•
を[何か]プレースホルダ?
•diff
のメッセージを "Test expr
failed"というメッセージで置き換える方法はありますか?
いつすべての一時ファイルがありますか? – reinierpost
@reinierpostの何が悪いですか:あなたがこれらの比較を行うより良い方法を持っているなら、是非、それを含む回答を投稿してください。それは、私が求めているヘルプの種類です。 –
申し訳ありませんが、私はその質問をキャンセルしたと思いました。あなたは一時ファイルが必要です。 – reinierpost