diff mbox

Go patch committed: Testsuite driver tweaks

Message ID mcripjgqupo.fsf@dhcp-172-18-216-180.mtv.corp.google.com
State New
Headers show

Commit Message

Ian Lance Taylor Feb. 9, 2012, 8:25 a.m. UTC
This patch to the Go testsuite driver does two things.  1) Disables
stack.go on systems which do not support -fsplit-stack.  This test uses
a great deal of stack space and can overrun a thread stack.  2) Builds
select5-out.go without optimization.  The test is a generated file that
takes a long time to compile, and already had special code to extend the
timeout on Alpha systems.  Rathe than worry about timeouts, I just
disabled optimization.  The test still runs quickly even when not
optimized.

With this patch I was able to build and run the Go testsuite with no
failures on x86 and x86_64 Solaris 10.  (I tested before the libgo
update I just committed.)

Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu and
i386-pc-solaris2.10.  Committed to mainline.

Ian


2012-02-09  Ian Lance Taylor  <iant@google.com>

	* go.test/go-test.exp (go-gc-tests): Don't run stack.go on systems
	which don't support -fsplit-stack.  Turn off optimization when
	compiling select5-out.go.
diff mbox

Patch

Index: go.test/go-test.exp
===================================================================
--- go.test/go-test.exp	(revision 184034)
+++ go.test/go-test.exp	(working copy)
@@ -330,8 +330,9 @@  proc go-gc-tests { } {
 	    continue
 	}
 
-	if { [file tail $test] == "select2.go" && \
-		 ! [check_effective_target_split_stack] } {
+	if { ( [file tail $test] == "select2.go" \
+		   || [file tail $test] == "stack.go" ) \
+		 && ! [check_effective_target_split_stack] } {
 	    # chan/select2.go fails on targets without split stack,
 	    # because they allocate a large stack segment that blows
 	    # out the memory calculations.
@@ -1018,10 +1019,12 @@  proc go-gc-tests { } {
 		} else {
 		    pass "$name execution"
 		    file delete $base-out.x
-		    # This testcase takes long time to compile.
-		    dg-timeout-factor list 4 { target alpha*-*-* }
+		    # Disable optimizations as this test takes a long time
+		    # to compile.
+		    set hold $TORTURE_OPTIONS
+		    set TORTURE_OPTIONS [ list { -O0 -g }]
 		    go-torture-execute "./$base-out.go"
-		    unset_timeout_vars
+		    set TORTURE_OPTIONS $hold
 		}
 		file delete $base-out.go
 	    }