rfork e
-eval `{go env}
-
-GOPATH = () # we disallow local import for non-local packges, 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
+if(! test -f ../bin/go){
+ echo 'run.rc must be run from $GOROOT/src after installing cmd/go' >[1=2]
+ exit wrongdir
}
-# 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 120s
-echo
-
-echo '# GOMAXPROCS=2 runtime -cpu=1,2,4'
-GOMAXPROCS=2 go test runtime -short -timeout 240s -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
-}
-
-echo
-echo '#' ../misc/dashboard/builder ../misc/goplay
-go build ../misc/dashboard/builder ../misc/gplay
-
-echo
-echo '#' ../test/bench/go1
-go test ../test/bench/go1
-
-@{
- xcd ../test
- GOMAXPROCS='' time go run run.go
-}
+GOENV=off
+eval `{../bin/go tool dist env}
-echo
-echo ALL TESTS PASSED
+GOPATH=/nonexist-gopath
+exec ../bin/go tool dist test -rebuild $*