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. |
Brad Fitzpatrick | 2ae7737 | 2015-07-10 17:17:11 -0600 | [diff] [blame] | 7 | # https://golang.org/doc/articles/race_detector.html |
Dave Cheney | b53e95a | 2013-01-28 21:05:25 +1100 | [diff] [blame] | 8 | |
| 9 | set -e |
| 10 | |
| 11 | function usage { |
Dmitriy Vyukov | de2feea | 2014-06-24 15:47:22 -0700 | [diff] [blame] | 12 | echo 'race detector is only supported on linux/amd64, freebsd/amd64 and darwin/amd64' 1>&2 |
Dave Cheney | b53e95a | 2013-01-28 21:05:25 +1100 | [diff] [blame] | 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 | ;; |
Dmitriy Vyukov | de2feea | 2014-06-24 15:47:22 -0700 | [diff] [blame] | 28 | "FreeBSD") |
| 29 | if [ $(uname -m) != "amd64" ]; then |
| 30 | usage |
| 31 | fi |
| 32 | ;; |
Dave Cheney | b53e95a | 2013-01-28 21:05:25 +1100 | [diff] [blame] | 33 | *) |
| 34 | usage |
| 35 | ;; |
| 36 | esac |
| 37 | |
| 38 | if [ ! -f make.bash ]; then |
| 39 | echo 'race.bash must be run from $GOROOT/src' 1>&2 |
| 40 | exit 1 |
| 41 | fi |
| 42 | . ./make.bash --no-banner |
Dave Cheney | b53e95a | 2013-01-28 21:05:25 +1100 | [diff] [blame] | 43 | go install -race std |
Brad Fitzpatrick | 1042550 | 2015-06-08 17:56:27 -0700 | [diff] [blame] | 44 | go tool dist test -no-rebuild -race |