This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Tests g++.old-deja/g++.mike/p3708*.C crash dejagnu on cygwin
- To: "'gcc-bugs at gcc dot gnu dot org'" <gcc-bugs at gcc dot gnu dot org>
- Subject: Tests g++.old-deja/g++.mike/p3708*.C crash dejagnu on cygwin
- From: "Billinghurst, David (CRTS)" <David dot Billinghurst at riotinto dot com>
- Date: Wed, 14 Mar 2001 13:34:06 -0000
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?