github.com/liujq9674git/golang-src-1.7@v0.0.0-20230517174348-17f6ec47f3f8/src/race.bash (about)

     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, freebsd/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  "FreeBSD")
    29  	if [ $(uname -m) != "amd64" ]; then
    30  		usage
    31  	fi
    32  	;;
    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
    43  go install -race std
    44  go tool dist test -race