如何在Makefile目标中保存和返回退出代码

时间:2020-06-04 08:39:22

标签: shell makefile

我有一个make目标,看起来像这样:

.PHONY: run-my-test
run-my-test: all
    run_test_suite.sh --all --log-to-file
    post_process_logs.sh

如果测试用例失败,则退出代码run_test_suite.sh将导致Make无法继续运行post_process_logs.sh。这是一个问题,因为即使是失败的测试,我也想获取处理后的日志。我应该如何更新我的目标?

我已经考虑过以某种方式保存退出代码,并可能在目标定义的末尾退出。还是将通话分为多个目标?

我还可以补充一点,由于我们的构建系统的工作原理,我几乎被迫从Make进行此操作。而且我宁愿不必添加更多目标,因为make文件通常会被这些目标弄得一团糟。

1 个答案:

答案 0 :(得分:1)

如果您希望运行{ . . . "rules": { "react/display-name": [2], } . . . } 后的构建失败,请将两个命令放在同一条目中。

post_process_logs.sh

.PHONY: run-my-test run-my-test: all run_test_suite.sh --all --log-to-file; \ e=$$?; \ post_process_logs.sh; \ exit $$e 的退出状态保存在外壳变量run_test_suite.sh中,该变量用作e之后的exit的参数,用于设置整体的退出状态命令。

相关问题