:: 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. | |
:: https://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 | |
set GOROOT=%CD%\.. | |
call make.bat --dist-tool >NUL | |
if errorlevel 1 goto fail | |
.\cmd\dist\dist.exe env -w -p >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 | |
echo # go install -race std | |
go install -race std | |
if errorlevel 1 goto fail | |
go tool dist test -race | |
if errorlevel 1 goto fail | |
goto succ | |
:fail | |
set GOBUILDFAIL=1 | |
echo Fail. | |
goto end | |
:succ | |
echo All tests passed. | |
:end | |
if x%GOBUILDEXIT%==x1 exit %GOBUILDFAIL% |