[Test] catch_system_errors default value ...
Hi, the default of 'catch_system_errors = yes' when using the boost unit testing framework is a bit problematic. Apparently, it installs a signal handler for SIGCHILD. I didn't notice this under Linux. But under Solaris I've got an interrupted waitpid system call in one test case[1]. Well, and the trace looks really funny, if waitpid is interrupted by ... SIGCHILD! (the testcase basically does a fork/exec/waitpid) Thus, the default of this parameter is at least a bit counter-intuitive. Perhaps, you[2] consider to change this default in the future. Best regards Georg Sauthoff [1] I assume, that utf does this on Linux in such a way, that waitpid is automatically resumed [2] I mean the utf maintainer, using gmane, I am not able to CC ...
Georg Sauthoff wrote:
Hi,
the default of 'catch_system_errors = yes' when using the boost unit testing framework is a bit problematic.
Apparently, it installs a signal handler for SIGCHILD. I didn't notice this under Linux. But under Solaris I've got an interrupted waitpid system call in one test case[1]. Well, and the trace looks really funny, if waitpid is interrupted by ... SIGCHILD! (the testcase basically does a fork/exec/waitpid)
Thus, the default of this parameter is at least a bit counter-intuitive. Perhaps, you[2] consider to change this default in the future.
1. There is a reason why this default is set as is. 2. You can easily change it with command line argument of environment variable. There is compile time option to disable catching SIGCHILD (BOOST_TEST_IGNORE_SIGCHLD). Gennadiy
participants (2)
-
Gennadiy Rozental
-
Georg Sauthoff