Check-parallel does't always execute all subtargets

Anton Kolesov Anton.Kolesov@synopsys.com
Mon Oct 28 11:57:00 GMT 2013


Hi,

I have noted that libstdc++-v3/testsuite/Makefile.in doesn't ignore return value of child makes in parallel check. Runtest has an exit code of 1 if at least one test has failed, child make (for example target check_DEJAGNUnormal0) thus fails and returns non-zero as well. If some of the other child targets (for example check_DEJAGNUnormal9) hasn't started yet and waits in a queue, then it will never be started by make. 

For comparison this doesn't happen with GCC testsuite, as there child targets (check-parallel-%) ignores the return value of runtest by prefixing it with "-" symbol. So every test target is always executed regardless of how other targets exited.

I would suggest to follow GCC testsuite and ignore the return value of runtest. That would require wrapping whole recipe for "check-DEJAGNU $(check_DEJJAGNU_normal_targets)" in a "-( <recipe> )". 

What do you think? Maybe there are some reasons for current implementation?

Anton Kolesov



More information about the Libstdc++ mailing list