經過多年的不使用make,我發現自己需要它,現在的GNU版本。我很確定我應該能夠做我想做的事,但還沒有想出如何或找到與谷歌等答案如何讓GNU明確測試失敗?
我想創建一個測試目標,將執行我的程序多次,將結果保存在日誌文件中。一些測試應該會導致我的程序中止。不幸的是,我的makefile在第一個導致錯誤的測試中放棄。我有類似:
# Makefile
#
test:
myProg -h > test.log # Display help
myProg good_input >> test.log # should run fine
myProg bad_input1 >> test.log # Error 1
myProg bad_input2 >> test.log # Error 2
通過以上,使bad_input1運行後退出,從來沒有得到的bad_input2運行。
製作。可能會遇到很多問題,包括:in | a | piped | sequence',最後一個決定退出代碼;'a; more; involved; recipe; line;'患有同樣的問題;沒有跳過很多障礙,用不同的參數重複地運行同樣的事情可能會對腳本造成麻煩,我通常選擇對腳本進行腳本編寫,如果需要,可以使用腳本kefile。 – 2015-10-02 20:28:40
作爲替代['set -e'](http://stackoverflow.com/questions/3474526/stop-on-first-error)在bash中可以使錯誤輸出在命令失敗時類似於使配方行。 – 2015-10-02 20:32:00