Boost logo

Boost :

From: Kevin Harris (bartholomule_at_[hidden])
Date: 2008-05-12 21:49:19


I'm trying to update my project to use boost 1.35. There is behavior
in the test library to catch SIGCHLD and consider it an error. Is
there a reason for this?

I have cases where my tests really do need to execute something (to
test some execution code). For our purposes, the default behavior of
SIGCHLD is correct, and reporting it as an error is wrong. The other
signals (SIGILL, SIGFPE, SIGSEGV, SIGBUS, etc.) are all good to catch,
as they usually indicate a real error.

Is there some way to configure this separately from the rest of the
errors properly detected and reported by
BOOST_TEST_CATCH_SYSTEM_ERRORS=yes?

Here's some output:
Platform: linux
Compiler: GNU C++ version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
STL : GNU libstdc++ version 20070929
Boost : 1.35.0
unknown location(0): fatal error in "test_real_execute": child has
exited; pid: 1000; uid: 22286; exit value: 0
test_execute.cpp(106): last checkpoint

Note that in that output the PID and UID are backwards.

I couldn't find any way to configure this separately, so for my own
use I'm just going to put a few #ifdefs around the SIGCHLD code (like
the SIGPOLL handling) in boost/test/impl/execution_monitor.ipp unless
someone has a better idea.

Thanks.

-Kevin-


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk