|
Boost Testing : |
From: Bronek Kozicki (brok_at_[hidden])
Date: 2007-02-05 04:52:30
Rene Rivera wrote:
> I don't believe that's true, at least on Win2K. The debug/assert popups
Rene, I think that you confused assertion (happens only in debug build
and waits for user choice) with program crash (happens in debug and
release).
> hence not a process that is reachable through the usual parent/child
> process hierarchy. That means that when the dialogs come up, bjam is
> still running, it's just the crashed program that isn't. At some point
> the action timeout on bjam will kick in and kill any children of that
> action and proceed with the next test. So it only looks like the testing
> is stalled. What Bronek's code does, is attempt to close those popups
> before the timeout happens, to avoid having to wait for the action
> timeout. But as he says, it's not perfect.
indeed, with the limitation that my code depends on parent/child
hierachy and won't close dialogs displayed by orphaned processes. I
never noticed this to be limitation, actually - I think that crashed
process is "hanging around" when crash message is displayed by its child
process, so that "Debug" button can be used.
> The perfect solution is to make bjam, or some other monitor program,
> into a real debugger process. Which would then be able to catch those
> assertions, and perhaps even print out stack traces and process info.
I agree. But this might not suppress failed assertions dialogs (in Debug).
B.