diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 99351f8c0c6..7de8b1f6340 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2020-05-15 Andrew Burgess + + * dg-extract-results.py: Handle GDB specific test types. + * dg-extract-results.sh: Likewise. + 2020-05-14 Martin Liska * gcc-changelog/test_email.py: New file. diff --git a/contrib/dg-extract-results.py b/contrib/dg-extract-results.py index 7100794d42a..30aa68771d4 100644 --- a/contrib/dg-extract-results.py +++ b/contrib/dg-extract-results.py @@ -117,7 +117,7 @@ class Prog: self.tool_re = re.compile (r'^\t\t=== (.*) tests ===$') self.result_re = re.compile (r'^(PASS|XPASS|FAIL|XFAIL|UNRESOLVED' r'|WARNING|ERROR|UNSUPPORTED|UNTESTED' - r'|KFAIL|KPASS):\s*(.+)') + r'|KFAIL|KPASS|PATH|DUPLICATE):\s*(.+)') self.completed_re = re.compile (r'.* completed at (.*)') # Pieces of text to write at the head of the output. # start_line is a pair in which the first element is a datetime @@ -143,7 +143,9 @@ class Prog: '# of known failures\t\t', '# of untested testcases\t\t', '# of unresolved testcases\t', - '# of unsupported tests\t\t' + '# of unsupported tests\t\t', + '# of paths in test names\t', + '# of duplicate test names\t' ] self.runs = dict() diff --git a/contrib/dg-extract-results.sh b/contrib/dg-extract-results.sh index f948088370e..ff6c50d029c 100755 --- a/contrib/dg-extract-results.sh +++ b/contrib/dg-extract-results.sh @@ -326,7 +326,7 @@ BEGIN { } } /^\t\t=== .* ===$/ { curvar = ""; next } -/^(PASS|XPASS|FAIL|XFAIL|UNRESOLVED|WARNING|ERROR|UNSUPPORTED|UNTESTED|KFAIL|KPASS):/ { +/^(PASS|XPASS|FAIL|XFAIL|UNRESOLVED|WARNING|ERROR|UNSUPPORTED|UNTESTED|KFAIL|KPASS|PATH|DUPLICATE):/ { testname=\$2 # Ugly hack for gfortran.dg/dg.exp if ("$TOOL" == "gfortran" && testname ~ /^gfortran.dg\/g77\//) @@ -400,6 +400,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 curvar=""; insummary=0 } /^Running target / { curvar = \$3; next } @@ -414,6 +415,8 @@ BEGIN { /^# of untested testcases/ { if (insummary == 1) untstcnt += \$5; next; } /^# of unresolved testcases/ { if (insummary == 1) unrescnt += \$5; next; } /^# 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; } /^$/ { if (insummary == 1) { insummary = 0; curvar = "" } next @@ -431,6 +434,8 @@ END { if (untstcnt != 0) printf ("# of untested testcases\t\t%d\n", untstcnt) if (unrescnt != 0) printf ("# of unresolved testcases\t%d\n", unrescnt) 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) } EOF @@ -452,6 +457,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 } /^# of DejaGnu errors/ { dgerrorcnt += \$5 } /^# of expected passes/ { passcnt += \$5 } @@ -463,6 +469,8 @@ BEGIN { /^# of untested testcases/ { untstcnt += \$5 } /^# of unresolved testcases/ { unrescnt += \$5 } /^# of unsupported tests/ { unsupcnt += \$5 } +/^# of paths in test names/ { pathcnt += \$7 } +/^# of duplicate test names/ { dupcnt += \$6 } END { printf ("\n\t\t=== %s Summary ===\n\n", tool) if (dgerrorcnt != 0) printf ("# of DejaGnu errors\t\t%d\n", dgerrorcnt) @@ -475,6 +483,8 @@ END { if (untstcnt != 0) printf ("# of untested testcases\t\t%d\n", untstcnt) if (unrescnt != 0) printf ("# of unresolved testcases\t%d\n", unrescnt) 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) } EOF