如果单元测试失败则 make 失败

2024-04-10

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

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

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

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

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

Thanks


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

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

我在这里发现了这一点:处理shell脚本中python返回的退出代码 https://stackoverflow.com/questions/14259660/handling-exit-code-returned-by-python-in-shell-script

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果单元测试失败则 make 失败 的相关文章

随机推荐