https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64983

--- Comment #9 from Jack Howarth <howarth.at.gcc at gmail dot com> ---
Note that this issue seems to only be fixable from within dejagnu and that the
commit of 6d2e2d3791bcea70131a6cf64a0a5223333a7b8e effectively broke the
log_summary proc in dejagnu's lib/framework.exp by reseting the testcnt global
which is used as follows...

    # If the tool set `testcnt', it wants us to do a sanity check on the
    # total count, so compare the reported number of testcases with the
    # expected number.  Maintaining an accurate count in `testcnt' isn't easy
    # so it's not clear how often this will be used.
    if {[info exists testcnt]} {
        if { $testcnt > 0 } {
            set totlcnt 0
            # total all the testcases reported
            foreach x { FAIL PASS XFAIL KFAIL XPASS KPASS UNTESTED UNRESOLVED
UNSUPPORTED } {
                incr totlcnt test_counts($x,$which)
            }
            set testcnt test_counts(total,$which)

            if { $testcnt>$totlcnt || $testcnt<$totlcnt } {
                if { $testcnt > $totlcnt } {
                    set mismatch "unreported  [expr {$testcnt - $totlcnt}]"
                }
                if { $testcnt < $totlcnt } {
                    set mismatch "misreported [expr {$totlcnt - $testcnt}]"
                }
            } else {
                verbose "# of testcases run         $testcnt"
            }

            if {[info exists mismatch]} {
                clone_output "### ERROR: totals do not equal number of
testcases run"
                clone_output "### ERROR: # of testcases expected    $testcnt"
                clone_output "### ERROR: # of testcases reported    $totlcnt"
                clone_output "### ERROR: # of testcases $mismatch\n"
            }
        }
    }
    foreach x { PASS FAIL XPASS XFAIL KPASS KFAIL UNRESOLVED UNTESTED
UNSUPPORTED } {
        set val $test_counts($x,$which)
        if { $val > 0 } {
            set mess "# of $test_counts($x,name)"
            if { $xml } {
                xml_output "  <summary>"
                xml_output "    <result>$x</result>"
                xml_output "    <description>$mess</description>"
                xml_output "    <total>$val</total>"
                xml_output "  </summary>"
            }
            if { [string length $mess] < 24 } {
                append mess "\t"
            }
            clone_output "$mess\t$val"
        }

Reply via email to