Ignore SIGCHLD in test setup script

SIGCHLD is expected when a subprocess ends, and is not indicative of a
failure. So, when trapping on signals to detect issues, do not trap on
this signal.

This has become important with Bash 5, as it has begun propagating this
signal up to this level.

Closes #7461.
Closes #7441.
Progress on #7410 when XML splitting is disabled.

PiperOrigin-RevId: 234568715
diff --git a/tools/test/test-setup.sh b/tools/test/test-setup.sh
index 05a0d26..92e9a38 100755
--- a/tools/test/test-setup.sh
+++ b/tools/test/test-setup.sh
@@ -270,6 +270,8 @@
   trap 'echo "-- Test timed out at $(date +"%F %T %Z") --"' SIGTERM
 else
   for signal in $signals; do
+    # SIGCHLD is expected when a subprocess dies
+    [ "${signal}" = "SIGCHLD" ] && continue
     trap "write_xml_output_file ${signal}" ${signal}
   done
 fi