Boost Testing :
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2007-02-04 22:32:02
David Abrahams wrote:
> Well, I'm afraid we really need that "way around" if we're going to
> have effective automated testing on Windows. Otherwise a crashed test
> stalls the whole process; a new test run won't start until all those
> dialogs are closed.
I don't believe that's true, at least on Win2K. The debug/assert popups
are put up by a a debugger process, not the process that crashes, and
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.
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.
-- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo