race.bash raw

   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  # https://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, linux/ppc64le, linux/arm64, linux/loong64, linux/s390x, freebsd/amd64, netbsd/amd64, openbsd/amd64, darwin/amd64, and darwin/arm64' 1>&2
  13  	exit 1
  14  }
  15  
  16  case $(uname -s -m) in
  17    "Darwin x86_64") ;;
  18    "Darwin arm64")  ;;
  19    "Linux x86_64")  ;;
  20    "Linux ppc64le") ;;
  21    "Linux aarch64") ;;
  22    "Linux loongarch64") ;;
  23    "Linux s390x")   ;;
  24    "FreeBSD amd64") ;;
  25    "NetBSD amd64")  ;;
  26    "OpenBSD amd64") ;;
  27    *) usage         ;;
  28  esac
  29  
  30  if [ ! -f make.bash ]; then
  31  	echo 'race.bash must be run from $GOROOT/src' 1>&2
  32  	exit 1
  33  fi
  34  . ./make.bash --no-banner
  35  go install -race std
  36  go tool dist test -race
  37