diff options
-rw-r--r-- | gdb/testsuite/Makefile.in | 9 | ||||
-rwxr-xr-x | gdb/testsuite/lib/dg-add-core-file-count.sh | 41 |
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 |