经过多年的不使用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