如何指示 Google Test 期望 std::abort()?



我正在使用谷歌测试,我希望代码会失败。作为此失败的一部分,代码调用自定义断言宏,其中包含std::abort().

不幸的是,谷歌测试的EXPECT_EXIT()并没有"抓住"std::abort()

这是一个自包含的示例,用于模拟我想要实现的目标:

// A placeholder for my assert macro
void MyFunction()
{
std::abort();
}
TEST(TestGroup1, TestName)
{
EXPECT_EXIT(MyFunction(), ::testing::ExitedWithCode(SIGABRT), ".*");
}

我得到这个失败输出:

Death test: MyFunction()
Result: died but not with expected exit code:
Terminated by signal 6 (core dumped)
Actual msg:
[  DEATH   ] 

这有可能实现吗?

我需要使用::testing::KilledBySignal(SIGABRT)

相关内容

  • 没有找到相关文章

最新更新