Tests g++.old-deja/g++.mike/p3708*.C crash dejagnu on cygwin

Billinghurst, David (CRTS) David.Billinghurst@riotinto.com
Wed Mar 14 21:16:00 GMT 2001


To follow up on my own post, I have run the g++ testsuite on irix with
-verbose and I see the same behaviour.

spawning command /exd4/billingd/obj/gcc/gcc/testsuite/g++-mike-p3708-C 
7 file6
dest in standard_file is cru200
deleting *** Construct C object!
A is constructed.
A1 is constructed.
B is constructed.
C is constructed.
*** Try to delete the casting pointer!
Casting to A1!
C is destructed.
B is destructed.
A1 is destructed.
A is destructed.

The only difference is that it doesn't kill dejagnu.  Looks like a testsuite
problem rather than a cygwin problem.  Any dejagnu gurus who can offer some
advice?


> -----Original Message-----
> From:	Billinghurst, David (CRTS) 
> Sent:	Thursday, 15 March 2001 0:34
> To:	'gcc-bugs@gcc.gnu.org'
> Subject:	Tests g++.old-deja/g++.mike/p3708*.C crash dejagnu on cygwin
> 
> 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



More information about the Cygwin mailing list