github.com/zach-klippenstein/go@v0.0.0-20150108044943-fcfbeb3adf58/src/run.rc (about)

     1  #!/bin/rc -e
     2  # Copyright 2012 The Go Authors. All rights reserved.
     3  # Use of this source code is governed by a BSD-style
     4  # license that can be found in the LICENSE file.
     5  
     6  rfork e
     7  
     8  eval `{go env}
     9  
    10  GOPATH = () # we disallow local import for non-local packages, if $GOROOT happens
    11              # to be under $GOPATH, then some tests below will fail
    12  
    13  # allow all.rc to avoid double-build of everything
    14  rebuild = true
    15  if(~ $1 --no-rebuild)
    16  	shift
    17  if not {
    18  	# Run only one process at a time on 9vx.
    19  	if(~ $sysname vx32)
    20  		pflag = (-p 1)
    21  	echo '# Building packages and commands.'
    22  	time go install -a -v $pflag std
    23  	echo
    24  }
    25  
    26  # we must unset GOROOT_FINAL before tests, because runtime/debug requires
    27  # correct access to source code, so if we have GOROOT_FINAL in effect,
    28  # at least runtime/debug test will fail.
    29  GOROOT_FINAL = ()
    30  
    31  echo '# Testing packages.'
    32  time go test std -short -timeout 240s
    33  echo
    34  
    35  # Temporary GCE builder hack until Plan 9 on GCE is fast enough.
    36  # See https://golang.org/issue/9491
    37  if(~ $GOTESTONLY std) {
    38  	echo
    39  	echo PARTIAL TESTS PASSED: std
    40  	exit
    41  }
    42  
    43  # We set GOMAXPROCS=2 in addition to -cpu=1,2,4 in order to test runtime bootstrap code,
    44  # creation of first goroutines and first garbage collections in the parallel setting.
    45  # TODO(bradfitz,0intro): make this not be 15 minutes once Plan 9 runs quickly on GCE.
    46  # Linux does 63 seconds on GCE, but Plan 9 was failing with 8 minutes.
    47  # See issue 8393 and 9491.
    48  # TODO(bradfitz,0intro): remove -v once we see some a successful build.
    49  echo '# GOMAXPROCS=2 runtime -cpu=1,2,4'
    50  GOMAXPROCS=2 go test runtime -v -short -timeout 15m -cpu 1,2,4
    51  echo
    52  
    53  echo '# sync -cpu=10'
    54  go test sync -short -timeout 120s -cpu 10
    55  echo
    56  
    57  fn xcd {
    58  	echo
    59  	echo '#' $1
    60  	cd $"GOROOT/src/$1
    61  }
    62  
    63  echo
    64  echo '#' ../test/bench/go1
    65  go test ../test/bench/go1
    66  
    67  @{
    68  	xcd ../test
    69  	GOMAXPROCS='' time go run run.go -v
    70  }
    71  
    72  echo
    73  echo ALL TESTS PASSED