mirror of
https://github.com/golang/go
synced 2024-11-20 09:44:45 -07:00
5d25189d80
Just like run.* scripts do. Fixes race build. LGTM=dave, dvyukov R=dvyukov, dave CC=golang-codereviews https://golang.org/cl/98980043
64 lines
1.6 KiB
Batchfile
64 lines
1.6 KiB
Batchfile
:: 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
|
|
|
|
set GOROOT=%CD%\..
|
|
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
|
|
:: golang.org/issue/5537 - we must build a race enabled cmd/cgo before trying to use it.
|
|
echo # go install -race cmd/cgo
|
|
go install -race cmd/cgo
|
|
echo # go install -race std
|
|
go install -race std
|
|
if errorlevel 1 goto fail
|
|
|
|
:: we must unset GOROOT_FINAL before tests, because runtime/debug requires
|
|
:: correct access to source code, so if we have GOROOT_FINAL in effect,
|
|
:: at least runtime/debug test will fail.
|
|
set GOROOT_FINAL=
|
|
|
|
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
|
|
if x%GOBUILDEXIT%==x1 exit %GOBUILDFAIL%
|
|
|