Home | History | Annotate | Download | only in src
      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