The results of running the testsuite in parallel should match the
results when run serially.  This patch adds KFAIL counts so that happens.
[There's still a nit that the order of the results don't precisely match,
but that's a separate issue.]

I will check this into the gdb tree if there are no objections.
Any reason not to apply it to the gcc tree as well?

2012-03-14  Doug Evans  <d...@google.com>

        * dg-extract-results.sh: Handle KFAILs.

Index: dg-extract-results.sh
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/dg-extract-results.sh,v
retrieving revision 1.4
diff -u -p -r1.4 dg-extract-results.sh
--- dg-extract-results.sh       4 Jan 2012 08:17:26 -0000       1.4
+++ dg-extract-results.sh       14 Mar 2012 17:15:07 -0000
@@ -345,7 +345,7 @@ EOF
 BEGIN {
   variant="$VAR"
   tool="$TOOL"
-  passcnt=0; failcnt=0; untstcnt=0; xpasscnt=0; xfailcnt=0; unsupcnt=0; 
unrescnt=0;
+  passcnt=0; failcnt=0; untstcnt=0; xpasscnt=0; xfailcnt=0; kfailcnt=0; 
unsupcnt=0; unrescnt=0;
   curvar=""; insummary=0
 }
 /^Running target /             { curvar = \$3; next }
@@ -354,6 +354,7 @@ BEGIN {
 /^# of unexpected successes/   { if (insummary == 1) xpasscnt += \$5; next; }
 /^# of unexpected failures/    { if (insummary == 1) failcnt += \$5; next; }
 /^# of expected failures/      { if (insummary == 1) xfailcnt += \$5; next; }
+/^# of known failures/         { if (insummary == 1) kfailcnt += \$5; next; }
 /^# 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; }
@@ -368,6 +369,7 @@ END {
   if (failcnt != 0) printf ("# of unexpected failures\t%d\n", failcnt)
   if (xpasscnt != 0) printf ("# of unexpected successes\t%d\n", xpasscnt)
   if (xfailcnt != 0) printf ("# of expected failures\t\t%d\n", xfailcnt)
+  if (kfailcnt != 0) printf ("# of known failures\t\t%d\n", kfailcnt)
   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)
@@ -391,12 +393,13 @@ TOTAL_AWK=${TMP}/total.awk
 cat << EOF > $TOTAL_AWK
 BEGIN {
   tool="$TOOL"
-  passcnt=0; failcnt=0; untstcnt=0; xpasscnt=0; xfailcnt=0; unsupcnt=0; 
unrescnt=0
+  passcnt=0; failcnt=0; untstcnt=0; xpasscnt=0; xfailcnt=0; kfailcnt=0; 
unsupcnt=0; unrescnt=0
 }
 /^# of expected passes/                { passcnt += \$5 }
 /^# of unexpected failures/    { failcnt += \$5 }
 /^# of unexpected successes/   { xpasscnt += \$5 }
 /^# of expected failures/      { xfailcnt += \$5 }
+/^# of known failures/         { kfailcnt += \$5 }
 /^# of untested testcases/     { untstcnt += \$5 }
 /^# of unresolved testcases/   { unrescnt += \$5 }
 /^# of unsupported tests/      { unsupcnt += \$5 }
@@ -406,6 +409,7 @@ END {
   if (failcnt != 0) printf ("# of unexpected failures\t%d\n", failcnt)
   if (xpasscnt != 0) printf ("# of unexpected successes\t%d\n", xpasscnt)
   if (xfailcnt != 0) printf ("# of expected failures\t\t%d\n", xfailcnt)
+  if (kfailcnt != 0) printf ("# of known failures\t\t%d\n", kfailcnt)
   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)

Reply via email to