c++ - BOOST TEST中如何取消 "fatal error"检测

标签 c++ boost-test

我得到一个错误:unknown location(0): fatal error in "suite_1_test_1": child has exited;进程号:5817; uid: 0;退出值:255

suite_1_test_1 中,我使用 execvp()(在 fork() 之后)运行一个程序 A,它可能会以非 0 的错误代码退出。此错误代码表示程序 A 发生了什么。

问题是,如果我遇到这个 fatal error ,我将无法处理exit() 值和BOOST TEST 立即下车。

我能否以某种方式将其关闭片刻?

谢谢

最佳答案

嗯,这样做是可能的:

boost::unit_test case fails because a child process exits with nonzero

只是做 #define BOOST_TEST_IGNORE_NON_ZERO_CHILD_CODE 之前 #define BOOST_TEST_MODULE aot_test_modulemain()

使用共享库时,使用命令行选项 --catch_system_errors=noexport BOOST_TEST_CATCH_SYSTEM_ERRORS=“no” 运行。

关于c++ - BOOST TEST中如何取消 "fatal error"检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16083323/

相关文章:

c++ - 单元测试资源管理类中的私有(private)方法 (C++)

c++ - Visual Studio 和 Boost::Test

c++ - Windows C++ 十六进制查看器 GUI 组件

c++ - 使用 boost 1.36 和 C++ 的 RHEL4 版本问题

c++ - 返回派生模板类作为基类指针

c++ - 如何链接 boost unit_test 库(boost_unit_test_framework)?

c++ - BOOST_AUTO_TEST_SUITE_END() 行出现异常错误

c++ - DirectX11 HLSL 着色器未运行

c++ - C++ 编译器如何优化模板代码?

c++ - 在 Boost Test 框架中测试 assert