aboutsummaryrefslogtreecommitdiff
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
commit8047e8e95a917f44ed0b12a0a382a6b144a8797f (patch)
treef06b618ee125fb79b349ddb436e6f82bd7571e83 /src/race.bat
parent5ea52a4d91fd45a2a727a4f6cca96d08cb2960f2 (diff)
downloadgo-8047e8e95a917f44ed0b12a0a382a6b144a8797f.tar.gz
go-8047e8e95a917f44ed0b12a0a382a6b144a8797f.zip
src: add race.bat
R=golang-dev, dave, alex.brainman CC=golang-dev https://golang.org/cl/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 0000000000..989a2e7d81
--- /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
+