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
10setlocal
11
12if exist make.bat goto ok
13echo race.bat must be run from go\src
14:: cannot exit: would kill parent command interpreter
15goto end
16:ok
17
18set GOROOT=%CD%\..
19call make.bat --dist-tool >NUL
20if errorlevel 1 goto fail
21.\cmd\dist\dist env -w -p >env.bat
22if errorlevel 1 goto fail
23call env.bat
24del env.bat
25
26if %GOHOSTARCH% == amd64 goto continue
27echo Race detector is only supported on windows/amd64.
28goto fail
29
30:continue
31call make.bat --no-banner --no-local
32if %GOBUILDFAIL%==1 goto end
33echo # go install -race std
34go install -race std
35if errorlevel 1 goto fail
36
37go tool dist test -race
38
39if errorlevel 1 goto fail
40goto succ
41
42:fail
43set GOBUILDFAIL=1
44echo Fail.
45goto end
46
47:succ
48echo All tests passed.
49
50:end
51if x%GOBUILDEXIT%==x1 exit %GOBUILDFAIL%
52
53