summaryrefslogtreecommitdiff
path: root/src/race.bat
diff options
context:
space:
mode:
authorShenghou Ma <minux.ma@gmail.com>2013-02-03 00:49:37 +0800
committerShenghou Ma <minux.ma@gmail.com>2013-02-03 00:49:37 +0800
commitcae0e98f6c221e682ef8f8ff7e71143289020f49 (patch)
tree29ed64724c17de9b82455bf474191852388ad30f /src/race.bat
parentd963e5f38fa1e0036331c85ab880f48eec7f8565 (diff)
downloadgo-cae0e98f6c221e682ef8f8ff7e71143289020f49.tar.gz
src: add race.bat
R=golang-dev, dave, alex.brainman CC=golang-dev https://codereview.appspot.com/7133064
Diffstat (limited to 'src/race.bat')
-rw-r--r--src/race.bat52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/race.bat b/src/race.bat
new file mode 100644
index 000000000..989a2e7d8
--- /dev/null
+++ b/src/race.bat
@@ -0,0 +1,52 @@
+:: 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.
+:: http://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
+
+call make.bat --dist-tool >NUL
+if errorlevel 1 goto fail
+.\cmd\dist\dist env -wp >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
+echo # go test -race -short -std
+go test -race -short std
+if errorlevel 1 goto fail
+echo # go test -race -run=nothingplease -bench=.* -benchtime=.1s -cpu=4 std
+go test -race -run=nothingplease -bench=.* -benchtime=.1s -cpu=4 std
+if errorlevel 1 goto fail
+goto succ
+
+:fail
+set GOBUILDFAIL=1
+echo Fail.
+goto end
+
+:succ
+echo All tests passed.
+
+:end
+