gpt4 book ai didi

makefile - 如果单元测试失败,则 make 失败

转载 作者:行者123 更新时间:2023-12-04 17:51:59 26 4
gpt4 key购买 nike

我有一个用于编译静态库的 makefile。这个 makefile 有一个编译与静态库关联的单元测试套件的规则。编译测试套件后,将调用 python 脚本来运行测试并记录结果。它看起来像这样:

unit:
$(MAKE) -C cXbase/unit
python $(TESTS_RUNNER) $(UNIT_TESTS_EXEC) $(UNIT_TESTS_LOG)

我使用 Python 使测试调用可移植。现在,一切正常:测试编译和测试运行器被调用并在 Linux 和 Windows 中正确记录所有内容。只有当测试失败时,我想停止整个制作过程并返回错误。更准确地说,我不希望在单元测试失败(或多次)时无法make allmake unit

如果单元测试失败,Python 脚本会返回特定的退出代码。我希望能够以可移植的方式捕获它,如果捕获到该退出代码,则 make 会失败。

对于如何做到这一点,您有什么建议吗?我在其他地方没有发现任何令人信服或可移植的东西。

谢谢

最佳答案

看来解决方案比我想象的要简单得多。 python 退出代码直接反射(reflect)在 make 它是退出代码。换句话说,如果脚本失败(退出代码不是 0),make 将其视为命令错误并停止。

我在测试失败时处理 Python 脚本退出代码时出错,这对我隐瞒了这一点。现已解决,完美运行。

我在这里发现了这个:Handling exit code returned by python in shell script

关于makefile - 如果单元测试失败,则 make 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43957679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com