[gcc r16-1632] contrib: handle GDB's 'unexpected core files' count
Andrew Burgess
aburgess@gcc.gnu.org
Mon Jun 23 19:51:33 GMT 2025
https://gcc.gnu.org/g:4e9104ae5455a3c02c2a7e07f52e6bc574cc761d
commit r16-1632-g4e9104ae5455a3c02c2a7e07f52e6bc574cc761d
Author: Andrew Burgess <aburgess@redhat.com>
Date: Mon Jun 23 16:17:19 2025 +0100
contrib: handle GDB's 'unexpected core files' count
This commit is for the benefit of GDB, but as the binutils-gdb
repository shares the contrib/ directory with gcc, this commit must
first be applied to gcc then copied back to binutils-gdb.
This commit extends the two scripts contrib/dg-extract-results.{py,sh}
to handle GDB's 'unexpected core files' count. This test result type
should never appear in GCC, or any other tool that shares the contrib/
directory, so this change should be harmless for others.
The 'unexpected core files' count was added to GDB's results by this
series:
https://inbox.sourceware.org/gdb-patches/20220623183053.172430-1-pedro@palves.net
this count is added to the gdb.sum file after all the tests have run,
and counts up any core.* files that have appeared.
GDB also has a make-check-all.sh script which runs a test with all the
different board files that GDB supports. After each test is run the
'unexpected core files' count will be added to that board's results.
I'm now trying to use the dg-extract-results.* scripts to merge the
results from all the different board files, and the 'unexpected core
files' count is confusing these scripts.
contrib/ChangeLog:
* dg-extract-results.py: Handle GDB's unexpected core file count.
* dg-extract-results.sh: Likewise.
Diff:
---
contrib/dg-extract-results.py | 3 ++-
contrib/dg-extract-results.sh | 8 ++++++--
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/contrib/dg-extract-results.py b/contrib/dg-extract-results.py
index f539275ba03c..c5bfbcaa0202 100644
--- a/contrib/dg-extract-results.py
+++ b/contrib/dg-extract-results.py
@@ -146,7 +146,8 @@ class Prog:
'# of unresolved testcases\t',
'# of unsupported tests\t\t',
'# of paths in test names\t',
- '# of duplicate test names\t'
+ '# of duplicate test names\t',
+ '# of unexpected core files\t'
]
self.runs = dict()
diff --git a/contrib/dg-extract-results.sh b/contrib/dg-extract-results.sh
index c2f760498da4..d64ba2558388 100755
--- a/contrib/dg-extract-results.sh
+++ b/contrib/dg-extract-results.sh
@@ -403,7 +403,7 @@ BEGIN {
variant="$VAR"
tool="$TOOL"
passcnt=0; failcnt=0; untstcnt=0; xpasscnt=0; xfailcnt=0; kpasscnt=0; kfailcnt=0; unsupcnt=0; unrescnt=0; dgerrorcnt=0;
- pathcnt=0; dupcnt=0
+ pathcnt=0; dupcnt=0; corecnt=0
curvar=""; insummary=0
}
/^Running target / { curvar = \$3; next }
@@ -420,6 +420,7 @@ BEGIN {
/^# of unsupported tests/ { if (insummary == 1) unsupcnt += \$5; next; }
/^# of paths in test names/ { if (insummary == 1) pathcnt += \$7; next; }
/^# of duplicate test names/ { if (insummary == 1) dupcnt += \$6; next; }
+/^# of unexpected core files/ { if (insummary == 1) corecnt += \$6; next; }
/^$/ { if (insummary == 1)
{ insummary = 0; curvar = "" }
next
@@ -439,6 +440,7 @@ END {
if (unsupcnt != 0) printf ("# of unsupported tests\t\t%d\n", unsupcnt)
if (pathcnt != 0) printf ("# of paths in test names\t%d\n", pathcnt)
if (dupcnt != 0) printf ("# of duplicate test names\t%d\n", dupcnt)
+ if (corecnt != 0) printf ("# of unexpected core files\t%d\n", corecnt)
}
EOF
@@ -460,7 +462,7 @@ cat << EOF > $TOTAL_AWK
BEGIN {
tool="$TOOL"
passcnt=0; failcnt=0; untstcnt=0; xpasscnt=0; xfailcnt=0; kfailcnt=0; unsupcnt=0; unrescnt=0; dgerrorcnt=0
- pathcnt=0; dupcnt=0
+ pathcnt=0; dupcnt=0; corecnt=0
}
/^# of DejaGnu errors/ { dgerrorcnt += \$5 }
/^# of expected passes/ { passcnt += \$5 }
@@ -474,6 +476,7 @@ BEGIN {
/^# of unsupported tests/ { unsupcnt += \$5 }
/^# of paths in test names/ { pathcnt += \$7 }
/^# of duplicate test names/ { dupcnt += \$6 }
+/^# of unexpected core files/ { corecnt += \$6 }
END {
printf ("\n\t\t=== %s Summary ===\n\n", tool)
if (dgerrorcnt != 0) printf ("# of DejaGnu errors\t\t%d\n", dgerrorcnt)
@@ -488,6 +491,7 @@ END {
if (unsupcnt != 0) printf ("# of unsupported tests\t\t%d\n", unsupcnt)
if (pathcnt != 0) printf ("# of paths in test names\t%d\n", pathcnt)
if (dupcnt != 0) printf ("# of duplicate test names\t%d\n", dupcnt)
+ if (corecnt != 0) printf ("# of unexpected core files\t%d\n", corecnt)
}
EOF
More information about the Gcc-cvs
mailing list