https://gcc.gnu.org/g:4e9104ae5455a3c02c2a7e07f52e6bc574cc761d

commit r16-1632-g4e9104ae5455a3c02c2a7e07f52e6bc574cc761d
Author: Andrew Burgess <aburg...@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-pe...@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

Reply via email to