| :: 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% |