1 :: Copyright 2013 The Go Authors. All rights reserved. 2 :: Use of this source code is governed by a BSD-style 3 :: license that can be found in the LICENSE file. 4 5 :: race.bash tests the standard library under the race detector. 6 :: https://golang.org/doc/articles/race_detector.html 7 8 @echo off 9 10 setlocal 11 12 if exist make.bat goto ok 13 echo race.bat must be run from go\src 14 :: cannot exit: would kill parent command interpreter 15 goto end 16 :ok 17 18 set GOROOT=%CD%\.. 19 call make.bat --dist-tool >NUL 20 if errorlevel 1 goto fail 21 .\cmd\dist\dist env -w -p >env.bat 22 if errorlevel 1 goto fail 23 call env.bat 24 del env.bat 25 26 if %GOHOSTARCH% == amd64 goto continue 27 echo Race detector is only supported on windows/amd64. 28 goto fail 29 30 :continue 31 call make.bat --no-banner --no-local 32 if %GOBUILDFAIL%==1 goto end 33 echo # go install -race std 34 go install -race std 35 if errorlevel 1 goto fail 36 37 go tool dist test -no-rebuild -race 38 39 if errorlevel 1 goto fail 40 goto succ 41 42 :fail 43 set GOBUILDFAIL=1 44 echo Fail. 45 goto end 46 47 :succ 48 echo All tests passed. 49 50 :end 51 if x%GOBUILDEXIT%==x1 exit %GOBUILDFAIL% 52 53