Dave Cheney | b53e95a | 2013-01-28 21:05:25 +1100 | [diff] [blame] | 1 | #!/usr/bin/env bash |
| 2 | # Copyright 2013 The Go Authors. All rights reserved. |
| 3 | # Use of this source code is governed by a BSD-style |
| 4 | # license that can be found in the LICENSE file. |
| 5 | |
| 6 | # race.bash tests the standard library under the race detector. |
| 7 | # http://golang.org/doc/articles/race_detector.html |
| 8 | |
| 9 | set -e |
| 10 | |
| 11 | function usage { |
| 12 | echo 'race detector is only supported on linux/amd64 and darwin/amd64' 1>&2 |
| 13 | exit 1 |
| 14 | } |
| 15 | |
| 16 | case $(uname) in |
| 17 | "Darwin") |
| 18 | # why Apple? why? |
| 19 | if sysctl machdep.cpu.extfeatures | grep -qv EM64T; then |
| 20 | usage |
| 21 | fi |
| 22 | ;; |
| 23 | "Linux") |
| 24 | if [ $(uname -m) != "x86_64" ]; then |
| 25 | usage |
| 26 | fi |
| 27 | ;; |
| 28 | *) |
| 29 | usage |
| 30 | ;; |
| 31 | esac |
| 32 | |
| 33 | if [ ! -f make.bash ]; then |
| 34 | echo 'race.bash must be run from $GOROOT/src' 1>&2 |
| 35 | exit 1 |
| 36 | fi |
| 37 | . ./make.bash --no-banner |
Dave Cheney | cdb3323 | 2013-09-29 10:34:41 +1000 | [diff] [blame] | 38 | # golang.org/issue/5537 - we must build a race enabled cmd/cgo before trying to use it. |
| 39 | go install -race cmd/cgo |
Dave Cheney | b53e95a | 2013-01-28 21:05:25 +1100 | [diff] [blame] | 40 | go install -race std |
| 41 | go test -race -short std |
| 42 | go test -race -run=nothingplease -bench=.* -benchtime=.1s -cpu=4 std |