This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Check-parallel does't always execute all subtargets
- From: Anton Kolesov <Anton dot Kolesov at synopsys dot com>
- To: "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>
- Date: Mon, 28 Oct 2013 11:57:27 +0000
- Subject: Check-parallel does't always execute all subtargets
- Authentication-results: sourceware.org; auth=none
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