
Jeremiah Willcock
On Mon, 5 Mar 2012, Gennadiy Rozental wrote:
Jeremiah Willcock
writes: Is there a way to force an abort() or some other kind of debugger-catchable event when a Boost.Test test case (such as a BOOST_CHECK) fails? Is there a function I can set a breakpoint on? I do not see anything like that in the documentation. I am running on Linux with gdb.
You can switch to BOOST_REQUIRE and catch throw.
Does that mean needing to change all of the tests to use that?
Yes.
Also, what about doing that in a program that throws (and catches) other exceptions not related to test failures?
They will interfere ;) Frankly i am not sure I understand the original incentive. Run the test without the debugger. It'll report the line number for the failure. Then just set a breakpoint at this line. This way you can actually debug into a failing call instead of looking at post-effect of failed validation inside the Boost.Test. Regards, Gennadiy