bug-dejagnu
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-dejagnu] Incomplete summary when regtesting gcc with dejagnu 1.


From: Jack Howarth
Subject: Re: [Bug-dejagnu] Incomplete summary when regtesting gcc with dejagnu 1.5.2.
Date: Sun, 29 Mar 2015 12:21:11 -0400

As described on the dejagnu mailing list, this bug has been regression
hunted back to the commit of...

http://git.savannah.gnu.org/cgit/dejagnu.git/commit/?id=6d2e2d3791bcea70131a6cf64a0a5223333a7b8e

2011-03-14 Jan Kratochvil <address@hidden>

 * runtest.exp (runtest): Call reset_vars at initialisation so that
  a perror does not affect test results in other test scripts.

This change now has proc runtest executing reset_vars which in turn
executes the offending code...

    foreach x $test_names {
        set test_counts($x,count) 0
    }

This reseting the testcnt global breaks the log_summary proc in
dejagnu's lib/framework.exp which expects the value to be retained for
the following code...

    # 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"
        }


On Fri, Feb 13, 2015 at 12:28 PM, Jack Howarth
<address@hidden> wrote:
> The recent dejagnu 1.5.2 update has reduced the number of test results
> reported by the contrib/test_summary script of gcc trunk.
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64983



reply via email to

[Prev in Thread] Current Thread [Next in Thread]