rfork e
-eval `{go env}
-
-GOPATH = () # we disallow local import for non-local packages, if $GOROOT happens
- # to be under $GOPATH, then some tests below will fail
-
-# allow all.rc to avoid double-build of everything
-rebuild = true
-if(~ $1 --no-rebuild)
- shift
-if not {
- # Run only one process at a time on 9vx.
- if(~ $sysname vx32)
- pflag = (-p 1)
- echo '# Building packages and commands.'
- time go install -a -v $pflag std
- echo
-}
-
-# we must unset GOROOT_FINAL before tests, because runtime/debug requires
-# correct access to source code, so if we have GOROOT_FINAL in effect,
-# at least runtime/debug test will fail.
-GOROOT_FINAL = ()
-
-echo '# Testing packages.'
-time go test std -short -timeout 240s
-echo
-
-# We set GOMAXPROCS=2 in addition to -cpu=1,2,4 in order to test runtime bootstrap code,
-# creation of first goroutines and first garbage collections in the parallel setting.
-# TODO(bradfitz,0intro): make this not be 15 minutes once Plan 9 runs quickly on GCE.
-# Linux does 63 seconds on GCE, but Plan 9 was failing with 8 minutes.
-# See issue 8393 and 9491.
-# TODO(bradfitz,0intro): remove -v once we see some a successful build.
-echo '# GOMAXPROCS=2 runtime -cpu=1,2,4'
-GOMAXPROCS=2 go test runtime -v -short -timeout 15m -cpu 1,2,4
-echo
-
-echo '# sync -cpu=10'
-go test sync -short -timeout 120s -cpu 10
-echo
-
-fn xcd {
- echo
- echo '#' $1
- cd $"GOROOT/src/$1
+if(! test -f ../bin/go){
+ echo 'run.rc must be run from $GOROOT/src after installing cmd/go' >[1=2]
+ exit wrongdir
}
-echo
-echo '#' ../test/bench/go1
-go test ../test/bench/go1
-
-@{
- xcd ../test
- GOMAXPROCS='' time go run run.go -v
-}
+GOENV=off
+eval `{../bin/go tool dist env}
-echo
-echo ALL TESTS PASSED
+GOPATH=/nonexist-gopath
+exec ../bin/go tool dist test -rebuild $*