aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/Makefile.in9
-rwxr-xr-xgdb/testsuite/lib/dg-add-core-file-count.sh41
2 files changed, 49 insertions, 1 deletions
diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in
index 790b9e0..87ba522 100644
--- a/gdb/testsuite/Makefile.in
+++ b/gdb/testsuite/Makefile.in
@@ -208,7 +208,12 @@ check-gdb.%:
$(MAKE) check TESTS="gdb.$*/*.exp"
check-single:
- $(DO_RUNTEST) $(RUNTESTFLAGS) $(expanded_tests_or_none) $(TIMESTAMP)
+ -rm -f *core*
+ $(DO_RUNTEST) $(RUNTESTFLAGS) $(expanded_tests_or_none) $(TIMESTAMP); \
+ result=$$?; \
+ $(SHELL) $(srcdir)/lib/dg-add-core-file-count.sh; \
+ sed -n '/=== gdb Summary ===/,$$ p' gdb.sum; \
+ exit $$result
check-single-racy:
-rm -rf cache racy_outputs temp
@@ -231,6 +236,7 @@ check-single-racy:
sed -n '/=== gdb Summary ===/,$$ p' racy.sum
check-parallel:
+ -rm -f *core*
-rm -rf cache outputs temp
$(MAKE) -k do-check-parallel; \
result=$$?; \
@@ -238,6 +244,7 @@ check-parallel:
`find outputs -name gdb.sum -print` > gdb.sum; \
$(SHELL) $(srcdir)/../../contrib/dg-extract-results.sh -L \
`find outputs -name gdb.log -print` > gdb.log; \
+ $(SHELL) $(srcdir)/lib/dg-add-core-file-count.sh; \
sed -n '/=== gdb Summary ===/,$$ p' gdb.sum; \
exit $$result
diff --git a/gdb/testsuite/lib/dg-add-core-file-count.sh b/gdb/testsuite/lib/dg-add-core-file-count.sh
new file mode 100755
index 0000000..702be06
--- /dev/null
+++ b/gdb/testsuite/lib/dg-add-core-file-count.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+# Copyright (C) 2022 Free Software Foundation, Inc.
+
+# This file is part of GDB.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Count number of core files in the current directory and if non-zero,
+# add a line to the gdb.sum file. This scripts assumes it is run from
+# the build/gdb/testsuite/ directory. It is normally invoked by the
+# Makefile.
+
+# Count core files portably, using POSIX compliant shell, avoiding ls,
+# find, wc, etc. Spawning a subshell isn't strictly needed, but it's
+# clearer. The "*core*" pattern is this lax in order to find all of
+# "core", "core.PID", "core.<program>.PID", "<program>.core", etc.
+cores=$(set -- *core*; [ $# -eq 1 -a ! -e "$1" ] && shift; echo $#)
+
+# If no cores found, then don't add our summary line.
+if [ "$cores" -eq "0" ]; then
+ exit
+fi
+
+# Add our line to the summary.
+sed -i'' -e "/=== gdb Summary ===/{
+n
+a\\
+# of unexpected core files $cores
+}" gdb.sum