2013-02-02 09:49:37 -07:00
|
|
|
:: Copyright 2013 The Go Authors. All rights reserved.
|
|
|
|
:: Use of this source code is governed by a BSD-style
|
|
|
|
:: license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
:: race.bash tests the standard library under the race detector.
|
|
|
|
:: http://golang.org/doc/articles/race_detector.html
|
|
|
|
|
|
|
|
@echo off
|
|
|
|
|
|
|
|
setlocal
|
|
|
|
|
|
|
|
if exist make.bat goto ok
|
|
|
|
echo race.bat must be run from go\src
|
|
|
|
:: cannot exit: would kill parent command interpreter
|
|
|
|
goto end
|
|
|
|
:ok
|
|
|
|
|
2013-12-17 01:59:13 -07:00
|
|
|
set GOROOT=%CD%\..
|
2013-02-02 09:49:37 -07:00
|
|
|
call make.bat --dist-tool >NUL
|
|
|
|
if errorlevel 1 goto fail
|
|
|
|
.\cmd\dist\dist env -wp >env.bat
|
|
|
|
if errorlevel 1 goto fail
|
|
|
|
call env.bat
|
|
|
|
del env.bat
|
|
|
|
|
|
|
|
if %GOHOSTARCH% == amd64 goto continue
|
|
|
|
echo Race detector is only supported on windows/amd64.
|
|
|
|
goto fail
|
|
|
|
|
|
|
|
:continue
|
|
|
|
call make.bat --no-banner --no-local
|
|
|
|
if %GOBUILDFAIL%==1 goto end
|
2013-09-28 18:34:41 -06:00
|
|
|
:: golang.org/issue/5537 - we must build a race enabled cmd/cgo before trying to use it.
|
|
|
|
echo # go install -race cmd/cgo
|
|
|
|
go install -race cmd/cgo
|
2013-02-02 09:49:37 -07:00
|
|
|
echo # go install -race std
|
|
|
|
go install -race std
|
|
|
|
if errorlevel 1 goto fail
|
2014-05-07 00:34:21 -06:00
|
|
|
|
|
|
|
:: 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.
|
|
|
|
set GOROOT_FINAL=
|
|
|
|
|
2013-12-17 01:59:13 -07:00
|
|
|
echo # go test -race -short std
|
2013-02-02 09:49:37 -07:00
|
|
|
go test -race -short std
|
|
|
|
if errorlevel 1 goto fail
|
|
|
|
echo # go test -race -run=nothingplease -bench=.* -benchtime=.1s -cpu=4 std
|
|
|
|
go test -race -run=nothingplease -bench=.* -benchtime=.1s -cpu=4 std
|
|
|
|
if errorlevel 1 goto fail
|
|
|
|
goto succ
|
|
|
|
|
|
|
|
:fail
|
|
|
|
set GOBUILDFAIL=1
|
|
|
|
echo Fail.
|
|
|
|
goto end
|
|
|
|
|
|
|
|
:succ
|
|
|
|
echo All tests passed.
|
|
|
|
|
|
|
|
:end
|
2013-12-17 04:09:42 -07:00
|
|
|
if x%GOBUILDEXIT%==x1 exit %GOBUILDFAIL%
|
2013-02-02 09:49:37 -07:00
|
|
|
|