Under cygwin, the gcc-3.0 testsuite crashes on tests
g++.old-deja/g++.mike/p3708*.C.  As a work around I have been deleting these
three tests. I have looked into this, but now I don't understand how they
can run on any platform.  

The code of interest is the last few lines of procedure old-dejagnu in
old-dejagnu.exp (below)


    # run the executable image
    if $runflag then {
        set executable $output
        if ![file exists $executable] then {
            # Since we couldn't run it, we consider it an expected failure,
            # so that test cases don't appear to disappear, and reappear.
            setup_xfail "*-*-*"
            fail "$name $pattern Execution test"
        } else {
            set status -1
            set result [eval [format "%s_load %s" $tool $executable]]
            set status [lindex $result 0];
            set output [lindex $result 1];
            if { $status == "pass" } {
                remote_file build delete $executable;
            }
            if { $execbug_flag || $excessbug_flag } then {
                setup_xfail "*-*-*"
            }
            $status "$name $pattern Execution test"
        }
    }

    verbose "deleting $output"
    remote_file build delete $output
    return 0


Now the tests that fail generate output, so after the executable is run we
have:
 - status = pass
 - output = "The output generated by the executable under test"

We then procede to delete $executable, which seems reasonable, and $output,
which doesn't.  At this point dejagnu bails out.  Why doesn't this fail on
other platforms?

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

Reply via email to