]> Cypherpunks.ru repositories - gostls13.git/blob - src/race.bat
all: merge dev.cc (a91c2e0) into master
[gostls13.git] / src / race.bat
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 :: http://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 :: we must unset GOROOT_FINAL before tests, because runtime/debug requires
38 :: correct access to source code, so if we have GOROOT_FINAL in effect,
39 :: at least runtime/debug test will fail.
40 set GOROOT_FINAL=
41
42 echo # go test -race -short std
43 go test -race -short std
44 if errorlevel 1 goto fail
45 echo # go test -race -run=nothingplease -bench=.* -benchtime=.1s -cpu=4 std
46 go test -race -run=nothingplease -bench=.* -benchtime=.1s -cpu=4 std
47 if errorlevel 1 goto fail
48 goto succ
49
50 :fail
51 set GOBUILDFAIL=1
52 echo Fail.
53 goto end
54
55 :succ
56 echo All tests passed.
57
58 :end
59 if x%GOBUILDEXIT%==x1 exit %GOBUILDFAIL%
60