My assert is not caught and the test fails
Opened this issue · 2 comments
GoogleCodeExporter commented
I just downloaded your product and hopefully my company Oceaneering will use
this framework, however, I'm running into some issues and need your help. In
our constructors we have user-defined MACROS for asserts such as:
AdapterPort::AdapterPort( Port* port )
{
V_ASSERT( port != nullptr, "port must not be nullptr" );
}
So I'm trying to test this assert fires with your google test. I write:
EXPECT_DEATH(AdapterPort(nullptr), "Constructor does not accept a nullptr as a
parameter");
But my user defined assert goes through and the test fails. My assert happens
before the google test MACRO can even catch it. Am I using the correct macro?
Or what's going on..?
Original issue reported on code.google.com by mker...@oceaneering.com
on 24 Oct 2014 at 3:59
GoogleCodeExporter commented
What do you mean by "the test fails". Is it giving a gTest failure or it is
crashing on your assert?
If the test gives a gTest failure, it might be because the expected message
doesn't match the one from the V_ASSERT(). The failure message should mention
this.
If V_ASSERT() is a debug check only, you should use EXPECT_DEBUG_DEATH()
instead, that verifies the death only if NDEBUG is off.
Original comment by sbe...@google.com
on 24 Oct 2014 at 4:32
GoogleCodeExporter commented
The test asserts on my assert in the code and I get the error attached.
Before this pops up I get a popup window that says:
<AssertError> c:\dev\viper\viperlibs\vipercomms\adapterport.cpp(11):
Viper::AdapterPort::AdapterPort - port must not be nullptr
And I still get that error even when I switched the macro to
EXPECT_DEBUG_DEATH().
Original comment by mker...@oceaneering.com
on 27 Oct 2014 at 12:37
Attachments: