summaryrefslogtreecommitdiffstats
path: root/src/race.bash
diff options
context:
space:
mode:
Diffstat (limited to 'src/race.bash')
-rwxr-xr-xsrc/race.bash48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/race.bash b/src/race.bash
new file mode 100755
index 0000000..e2b96bc
--- /dev/null
+++ b/src/race.bash
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# 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.
+# https://golang.org/doc/articles/race_detector.html
+
+set -e
+
+function usage {
+ echo 'race detector is only supported on linux/amd64, linux/ppc64le, linux/arm64, freebsd/amd64, netbsd/amd64, darwin/amd64, and darwin/arm64' 1>&2
+ exit 1
+}
+
+case $(uname) in
+"Darwin")
+ if [ $(uname -m) != "x86_64" ] && [ $(uname -m) != "arm64" ]; then
+ usage
+ fi
+ ;;
+"Linux")
+ if [ $(uname -m) != "x86_64" ] && [ $(uname -m) != "ppc64le" ] && [ $(uname -m) != "aarch64" ]; then
+ usage
+ fi
+ ;;
+"FreeBSD")
+ if [ $(uname -m) != "amd64" ]; then
+ usage
+ fi
+ ;;
+"NetBSD")
+ if [ $(uname -m) != "amd64" ]; then
+ usage
+ fi
+ ;;
+*)
+ usage
+ ;;
+esac
+
+if [ ! -f make.bash ]; then
+ echo 'race.bash must be run from $GOROOT/src' 1>&2
+ exit 1
+fi
+. ./make.bash --no-banner
+go install -race std
+go tool dist test -race