もういくつ寝ると golang for FreeBSD/arm64 ?

"[go言語](https://golang.org/) は better C言語" という認識でいます。
いろんな OS やアーキテクチャで動くので利用も広がっています。

[FreeBSD](https://www.freebsd.org/) では、

- i386
- amd64
- arm
    - armv6
    - armv7

のアーキテクチャで利用できます。

でも、[Raspberry Pi 3 Model B](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/)など arm64 アーキテクチャのものも入手しやすくなっています。

そろそろ[golang](https://golang.org/) for [FreeBSD](https://www.freebsd.org/)/arm64が欲しくなってきませんか?

# [golang](https://golang.org/) for [FreeBSD](https://www.freebsd.org/)/arm64 の対応状況
[golang](https://golang.org/) for [FreeBSD](https://www.freebsd.org/)/arm64 対応については、2018年には issue が上がって対応が続けられていました。
2019年10月に cgo 対応の修正が master に反映され close となっています。
- [all: add support for FreeBSD / aarch64 #24715](https://github.com/golang/go/issues/24715)

現時点では cgo 対応のために GNU ld が必要になっています。
lld 10 だと対応できそうな感じです。
- https://github.com/golang/go/issues/24715#issuecomment-546890908

それまでの間は binutils のインストールが必要になっています。

リリース時期については、今のところ Go1.14 のタグが付いていることから 1.14 のリリースに入ることが期待できそうです。

# build status の確認
[golang](https://golang.org/)は自動的にbuildが実行されてステータスが確認されています。
buildできないような状態になるとリリースから外されるかもしれませんので、気になるなら毎日

- https://build.golang.org/

で各アーキテクチャ毎の build 結果を確認しましょう。

今のところ [FreeBSD](https://www.freebsd.org/) の arm64 対応は OK が続いているようです。

# リリースまで待てない人は
リリースまで待てない人は自前でコンパイルして試してみましょう。
[go言語](https://golang.org/)は [1.5](https://golang.org/doc/go1.5) から C言語で書かれていたものから [go言語](https://golang.org/) で書き直されています。
そのため、コンパイルのためには [go言語](https://golang.org/) のバイナリが必要になります。

よって、[FreeBSD](https://www.freebsd.org/)/arm64 の[go言語](https://golang.org/)をコンパイルするためにはすでに[go言語](https://golang.org/)の対応が終わっている環境でarm64用ブートストラップバイナリを作成する必要があります。
そのブートストラップバイナリを使って arm64 環境で[go言語](https://golang.org/)コンパイルします。

arm64 環境は、[Raspberry Pi 3 Model B](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/) や [Pine64](https://www.pine64.org/) といった実機を用意する方法もありますが、[Amazon EC2 A1 インスタンス](https://aws.amazon.com/jp/ec2/instance-types/a1/) を使う方法もあります。

- [FreeBSD/arm64 を AWS で動かす](https://qiita.com/bsd-hacker/items/860bfa42445aa42249f7)

## arm64用ブートストラップバイナリの作成
amd64アーキテクチャで作成するのが楽でしょう。
[FreeBSD](https://www.freebsd.org/)/amd64 なら pkg binary をインストールできます。

```
sudo pkg install go
```

[go言語](https://golang.org/) のコンパイルで使用するシェルスクリプトが bash scrip になっているため bash もインストールしておきます。:sob:

```
pkg install bash
```

go をインストールしたら、[go言語](https://golang.org/)のソースコードを取得しましょう。

```
mkdir -p /tmp/golang
cd /tmp/golang
rm -fr ../bin ../pkg ../../go-freebsd-arm64-bootstrap*
git clone https://github.com/golang/go.git
```

ソースコードを取得で来たらブートストラップバイナリを作成しましょう。

```
cd /tmp/golang/go/src
GOROOT_BOOTSTRAP=/usr/local/go GOOS=freebsd GOARCH=arm64 bash ./bootstrap.bash
```

[FreeBSD](https://www.freebsd.org/)のtarを使うとテスト用のファイル名にUnicodeの文字が含まれている関係でエラーが表示されることがあります。

```
<shigeru@freebsd-02>: GOROOT_BOOTSTRAP=/usr/local/go GOOS=freebsd GOARCH=arm64 bash ./bootstrap.bash
#### Copying to ../../go-freebsd-arm64-bootstrap

#### Cleaning ../../go-freebsd-arm64-bootstrap

#### Building ../../go-freebsd-arm64-bootstrap

cmd/go: unsupported GOOS/GOARCH pair freebsd/arm64
Building Go cmd/dist using /usr/local/go. ()
Building Go toolchain1 using /usr/local/go.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for host, freebsd/amd64.
Building packages and commands for target, freebsd/arm64.
----
Bootstrap toolchain for freebsd/arm64 installed in /tmp/golang/go-freebsd-arm64-bootstrap.
Building tbz.
: Can't translate pathname 'go-freebsd-arm64-bootstrap/test/fixedbugs/issue27836.dir/
     foo.go' to UTF-8: Can't translate pathname 'go-freebsd-arm64-bootstrap/test/fixedbugs/issue27836.dir/
                          main.go' to UTF-8-rw-r--r--  1 shigeru  wheel  113933285 12月  6 00:45 /tmp/golang/go-freebsd-arm64-bootstrap.tbz
<shigeru@freebsd-02>: 
```

テストコードをtarに含める際に起きているものなので無視してもかまいませんが、気になる用なら GNU tar を使うように変更しておきます。
- https://github.com/bsd-hacker/go/blob/issue/24715/porting_go_to_freebsd_arm64/src/bootstrap.bash

変更箇所は次のようになります。

```
<shigeru@freebsd-02>: PAGER=cat git diff
diff --git a/src/bootstrap.bash b/src/bootstrap.bash
index 88c080a948..ba39a7abc0 100755
--- a/src/bootstrap.bash
+++ b/src/bootstrap.bash
@@ -42,6 +42,8 @@ if [ "$BOOTSTRAP_FORMAT" != "mintgz" -a "$BOOTSTRAP_FORMAT" != "" ]; then
        exit 2
 fi

+TAR=${TAR:-tar}
+
 unset GOROOT
 src=$(cd .. && pwd)
 echo "#### Copying to $targ"
@@ -106,7 +108,7 @@ if [ "$BOOTSTRAP_FORMAT" = "mintgz" ]; then
        find . -type l -exec rm {} \;

        echo "Writing ${OUTGZ} ..."
-       tar cf - . | gzip -9 > ../$OUTGZ
+       ${TAR} cf - . | gzip -9 > ../$OUTGZ
        cd ..
        ls -l "$(pwd)/$OUTGZ"
        exit 0
@@ -116,6 +118,6 @@ echo ----
 echo Bootstrap toolchain for "$GOOS/$GOARCH" installed in "$(pwd)".
 echo Building tbz.
 cd ..
-tar cf - "go-${GOOS}-${GOARCH}-bootstrap" | bzip2 -9 >"go-${GOOS}-${GOARCH}-bootstrap.tbz"
+${TAR} cf - "go-${GOOS}-${GOARCH}-bootstrap" | bzip2 -9 >"go-${GOOS}-${GOARCH}-bootstrap.tbz"
 ls -l "$(pwd)/go-${GOOS}-${GOARCH}-bootstrap.tbz"
 exit 0
<shigeru@freebsd-02>: 
```

bootstrap.bash を変更したら、TAR として gtar を使うように指定して実行します。

```
cd /tmp/golang/go/src
rm -fr ../bin ../pkg ../../go-freebsd-arm64-bootstrap*
GOROOT_BOOTSTRAP=/usr/local/go GOOS=freebsd GOARCH=arm64 TAR=gtar bash ./bootstrap.bash
```

今度はエラーなしで実行されます。

```
<shigeru@freebsd-02>: GOROOT_BOOTSTRAP=/usr/local/go GOOS=freebsd GOARCH=arm64 TAR=gtar bash ./bootstrap.bash
#### Copying to ../../go-freebsd-arm64-bootstrap

#### Cleaning ../../go-freebsd-arm64-bootstrap

#### Building ../../go-freebsd-arm64-bootstrap

cmd/go: unsupported GOOS/GOARCH pair freebsd/arm64
Building Go cmd/dist using /usr/local/go. ()
Building Go toolchain1 using /usr/local/go.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for host, freebsd/amd64.
Building packages and commands for target, freebsd/arm64.
----
Bootstrap toolchain for freebsd/arm64 installed in /tmp/golang/go-freebsd-arm64-bootstrap.
Building tbz.
-rw-r--r--  1 shigeru  wheel  114102890 12月  6 01:26 /tmp/golang/go-freebsd-arm64-bootstrap.tbz
<shigeru@freebsd-02>: 
```

作成に成功すると go-freebsd-arm64-bootstrap.tbz というファイルができています。

```
<shigeru@freebsd-02>: ls ../../go-freebsd-arm64-bootstrap.tbz
../../go-freebsd-arm64-bootstrap.tbz
<shigeru@freebsd-02>: 
```

## ブートストラップバイナリを使ってコンパイル
作成したブートストラップバイナリのtarファイル(go-freebsd-arm64-bootstrap.tbz)を arm64 アーキテクチャ側にコピーし、適当な場所に展開します。
ここでは /tmp に go-freebsd-arm64-bootstrap.tbz コピーし、/tmp/golang に展開することにします。

```
mkdir -p /tmp/golang
cd /tmp/golang
tar fvxz /tmp/go-freebsd-arm64-bootstrap.tbz
```

ブートストラップバイナリ作成と同じ様に[go言語](https://golang.org/)のソースコードを取得します。

```
git clone https://github.com/golang/go.git
```

[go言語](https://golang.org/) のコンパイルで使用するシェルスクリプトが bash scrip になっているため bash もインストールしておきます。:sob:

```
sudo pkg install bash
```

[golang](https://golang.org/) for [FreeBSD](https://www.freebsd.org/)/arm64 は、cgo の実装で GNU ld を利用する前提になっています。
そのため binutils が必要になります。

```
sudo pkg install binutils
```

取得したソースコードをブートストラップバイナリを使ってコンパイルします。

```
cd /tmp/golang/go/src
rm -fr ../bin ../pkg
GOROOT_BOOTSTRAP=/tmp/golang/go-freebsd-arm64-bootstrap bash make.bash
```

実行結果はこんな感じです。

```
[shigeru@freebsd12-00 /tmp/golang/go/src]$ rm -fr ../bin ../pkg
[shigeru@freebsd12-00 /tmp/golang/go/src]$ GOROOT_BOOTSTRAP=/tmp/golang/go-freeb
sd-arm64-bootstrap bash make.bash
Building Go cmd/dist using /tmp/golang/go-freebsd-arm64-bootstrap. (devel +cdf3db5df6 Thu Dec 5 04:58:28 2019 +0000 freebsd/arm64)
Building Go toolchain1 using /tmp/golang/go-freebsd-arm64-bootstrap.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for freebsd/arm64.
---
Installed Go for freebsd/arm64 in /tmp/golang/go
Installed commands in /tmp/golang/go/bin
[shigeru@freebsd12-00 /tmp/golang/go/src]$ 
```

作成されたバイナリを tar で固めておき、利用するホストで展開して利用します。

```
cd /tmp/golang
tar -v -c -J -f go-freebsd-arm64.tar.xz --exclude=.git --exclude=pkg/obj --exclude=pkg/bootstrap --exclude=go/pkg/freebsd_arm64/cmd go
```

これで [FreeBSD](https://www.freebsd.org/)/arm64 のバイナリができました。

# もういくつ寝ると
さあ、[golang](https://golang.org/) for [FreeBSD](https://www.freebsd.org/)/arm64 の準備は整いました。
arm64アーキテクチャの [Raspberry Pi 3 Model B](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/) や [Pine64](https://www.pine64.org/) を用意してリリースを待ちましょう。

# おまけ、だれか原因わかりませんか?

AWS の方で all.bash を実行すると特にエラーはありません。

```
[shigeru@freebsd12-00 /tmp/golang/go/src]$ GOROOT_BOOTSTRAP=/tmp/golang/go-freebsd-arm64-bootstrap bash all.bash
Building Go cmd/dist using /tmp/golang/go-freebsd-arm64-bootstrap. (devel +cdf3db5df6 Thu Dec 5 04:58:28 2019 +0000 freebsd/arm64)
Building Go toolchain1 using /tmp/golang/go-freebsd-arm64-bootstrap.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for freebsd/arm64.

##### Testing packages.
ok      archive/tar     0.155s
ok      archive/zip     0.098s
ok      bufio   0.082s
ok      bytes   0.584s
ok      compress/bzip2  0.092s
ok      compress/flate  0.834s
ok      compress/gzip   0.046s
ok      compress/lzw    0.065s
ok      compress/zlib   0.046s
ok      container/heap  0.034s
ok      container/list  0.012s
ok      container/ring  0.010s
ok      context 1.010s
ok      crypto  0.010s
ok      crypto/aes      0.035s
ok      crypto/cipher   0.028s
ok      crypto/des      0.026s
ok      crypto/dsa      0.030s
ok      crypto/ecdsa    0.232s
ok      crypto/ed25519  0.220s
ok      crypto/elliptic 0.066s
ok      crypto/hmac     0.012s
ok      crypto/internal/subtle  0.013s
ok      crypto/md5      0.014s
ok      crypto/rand     0.061s
ok      crypto/rc4      0.088s
ok      crypto/rsa      0.138s
ok      crypto/sha1     0.032s
ok      crypto/sha256   0.014s
ok      crypto/sha512   0.015s
ok      crypto/subtle   0.020s
ok      crypto/tls      2.175s
ok      crypto/x509     0.690s
ok      database/sql    0.601s
ok      database/sql/driver     0.035s
ok      debug/dwarf     0.047s
ok      debug/elf       0.064s
ok      debug/gosym     0.026s
ok      debug/macho     0.030s
ok      debug/pe        0.033s
ok      debug/plan9obj  0.043s
ok      encoding/ascii85        0.014s
ok      encoding/asn1   0.023s
ok      encoding/base32 0.046s
ok      encoding/base64 0.016s
ok      encoding/binary 0.020s
ok      encoding/csv    0.019s
ok      encoding/gob    0.060s
ok      encoding/hex    0.017s
ok      encoding/json   0.146s
ok      encoding/pem    0.036s
ok      encoding/xml    0.034s
ok      errors  0.023s
ok      expvar  0.018s
ok      flag    0.024s
ok      fmt     0.182s
ok      go/ast  0.041s
ok      go/build        0.357s
ok      go/constant     0.015s
ok      go/doc  0.084s
ok      go/format       0.026s
ok      go/importer     0.216s
ok      go/internal/gccgoimporter       0.042s
ok      go/internal/gcimporter  0.790s
ok      go/internal/srcimporter 1.601s
ok      go/parser       0.048s
ok      go/printer      0.419s
ok      go/scanner      0.016s
ok      go/token        0.036s
ok      go/types        1.490s
ok      hash    0.013s
ok      hash/adler32    0.017s
ok      hash/crc32      0.020s
ok      hash/crc64      0.019s
ok      hash/fnv        0.012s
ok      hash/maphash    0.148s
ok      html    0.026s
ok      html/template   0.089s
ok      image   0.125s
ok      image/color     0.035s
ok      image/draw      0.086s
ok      image/gif       0.605s
ok      image/jpeg      0.262s
ok      image/png       0.069s
ok      index/suffixarray       0.475s
ok      internal/cpu    0.037s
ok      internal/fmtsort        0.019s
ok      internal/poll   0.051s
ok      internal/reflectlite    0.104s
ok      internal/singleflight   0.022s
ok      internal/trace  0.073s
ok      internal/xcoff  0.031s
ok      io      0.048s
ok      io/ioutil       0.018s
ok      log     0.022s
ok      log/syslog      1.386s
ok      math    0.017s
ok      math/big        2.171s
ok      math/bits       0.032s
ok      math/cmplx      0.030s
ok      math/rand       0.184s
ok      mime    0.017s
ok      mime/multipart  0.296s
ok      mime/quotedprintable    0.034s
ok      net     3.095s
ok      net/http        15.276s
ok      net/http/cgi    0.201s
ok      net/http/cookiejar      0.022s
ok      net/http/fcgi   0.026s
ok      net/http/httptest       0.077s
ok      net/http/httptrace      0.016s
ok      net/http/httputil       0.143s
ok      net/http/internal       0.019s
ok      net/http/pprof  2.034s
ok      net/internal/socktest   0.010s
ok      net/mail        0.015s
ok      net/rpc 0.060s
ok      net/rpc/jsonrpc 0.029s
ok      net/smtp        0.033s
ok      net/textproto   0.015s
ok      net/url 0.036s
ok      os      0.825s
ok      os/exec 0.910s
ok      os/signal       5.562s
ok      os/user 0.016s
ok      path    0.013s
ok      path/filepath   0.072s
ok      plugin  0.017s
ok      reflect 1.143s
ok      regexp  0.305s
ok      regexp/syntax   0.660s
ok      runtime 70.968s
ok      runtime/debug   0.118s
ok      runtime/internal/atomic 0.052s
ok      runtime/internal/math   0.022s
ok      runtime/internal/sys    0.030s
ok      runtime/pprof   10.736s
ok      runtime/pprof/internal/profile  0.017s
ok      runtime/trace   0.753s
ok      sort    0.103s
ok      strconv 0.751s
ok      strings 0.288s
ok      sync    0.605s
ok      sync/atomic     0.053s
ok      syscall 0.064s
ok      testing 0.133s
ok      testing/iotest  0.012s
ok      testing/quick   0.080s
ok      text/scanner    0.016s
ok      text/tabwriter  0.016s
ok      text/template   0.097s
ok      text/template/parse     0.029s
ok      time    1.738s
ok      unicode 0.052s
ok      unicode/utf16   0.013s
ok      unicode/utf8    0.018s
ok      cmd/addr2line   4.925s
ok      cmd/api 0.332s
ok      cmd/asm/internal/asm    0.987s
ok      cmd/asm/internal/lex    0.013s
ok      cmd/compile     0.018s
ok      cmd/compile/internal/gc 19.898s
ok      cmd/compile/internal/logopt     0.062s
ok      cmd/compile/internal/ssa        0.757s
ok      cmd/compile/internal/syntax     0.037s
ok      cmd/compile/internal/test       0.015s [no tests to run]
ok      cmd/compile/internal/types      0.025s
ok      cmd/cover       5.474s
ok      cmd/doc 0.096s
ok      cmd/fix 11.980s
ok      cmd/go  86.377s
ok      cmd/go/internal/auth    0.026s
ok      cmd/go/internal/cache   1.312s
ok      cmd/go/internal/generate        0.048s
ok      cmd/go/internal/get     0.272s
ok      cmd/go/internal/imports 0.018s
ok      cmd/go/internal/load    0.017s
ok      cmd/go/internal/lockedfile      0.597s
ok      cmd/go/internal/lockedfile/internal/filelock    0.040s
ok      cmd/go/internal/modconv 0.051s
ok      cmd/go/internal/modfetch        0.167s
ok      cmd/go/internal/modfetch/codehost       0.025s
ok      cmd/go/internal/modfetch/zip_sum_test   0.066s
ok      cmd/go/internal/modload 0.029s
ok      cmd/go/internal/mvs     0.014s
ok      cmd/go/internal/par     0.039s
ok      cmd/go/internal/renameio        0.319s
ok      cmd/go/internal/search  0.030s
ok      cmd/go/internal/txtar   0.012s
ok      cmd/go/internal/web     0.028s
ok      cmd/go/internal/work    0.023s
ok      cmd/gofmt       0.068s
ok      cmd/internal/buildid    0.244s
ok      cmd/internal/dwarf      0.013s
ok      cmd/internal/edit       0.036s
ok      cmd/internal/goobj      2.314s
ok      cmd/internal/obj        0.025s
ok      cmd/internal/obj/arm64  0.036s
ok      cmd/internal/obj/x86    4.746s
ok      cmd/internal/objabi     0.026s
ok      cmd/internal/src        0.011s
ok      cmd/internal/test2json  0.201s
ok      cmd/link        13.513s
ok      cmd/link/internal/ld    5.865s
ok      cmd/link/internal/sym   0.014s
ok      cmd/nm  5.749s
ok      cmd/objdump     5.189s
ok      cmd/pack        2.745s
ok      cmd/trace       0.032s
ok      cmd/vet 15.226s

##### os/user with tag osusergo
ok      os/user 0.006s

##### GOMAXPROCS=2 runtime -cpu=1,2,4 -quick
ok      runtime 6.054s

##### Testing without libgcc.
ok      crypto/x509     0.812s
ok      net     0.026s
ok      os/user 0.009s

##### sync -cpu=10
ok      sync    0.630s

##### ../misc/cgo/stdio
PASS

##### ../misc/cgo/life
PASS

##### ../misc/cgo/test
PASS
ok      misc/cgo/test   14.564s
PASS
ok      misc/cgo/test   14.168s

##### ../misc/cgo/testgodefs
PASS

##### ../misc/cgo/testso
ok      misc/cgo/testso 2.580s

##### ../misc/cgo/testsovar
ok      misc/cgo/testsovar      2.650s

##### ../misc/cgo/errors
PASS

##### ../test/bench/go1

##### ../test

##### API check
+pkg crypto/tls, const TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393
+pkg crypto/tls, const TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 uint16
+pkg crypto/tls, const TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392
+pkg crypto/tls, const TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 uint16
+pkg crypto/tls, func CipherSuiteName(uint16) string
+pkg crypto/tls, func CipherSuites() []*CipherSuite
+pkg crypto/tls, func InsecureCipherSuites() []*CipherSuite
+pkg crypto/tls, method (*CertificateRequestInfo) SupportsCertificate(*Certificate) error
+pkg crypto/tls, method (*ClientHelloInfo) SupportsCertificate(*Certificate) error
+pkg crypto/tls, type Certificate struct, SupportedSignatureAlgorithms []SignatureScheme
+pkg crypto/tls, type CertificateRequestInfo struct, Version uint16
+pkg crypto/tls, type CipherSuite struct
+pkg crypto/tls, type CipherSuite struct, ID uint16
+pkg crypto/tls, type CipherSuite struct, Insecure bool
+pkg crypto/tls, type CipherSuite struct, Name string
+pkg crypto/tls, type CipherSuite struct, SupportedVersions []uint16
+pkg debug/dwarf, const AttrAddrBase = 115
+pkg debug/dwarf, const AttrAddrBase Attr
+pkg debug/dwarf, const AttrAlignment = 136
+pkg debug/dwarf, const AttrAlignment Attr
+pkg debug/dwarf, const AttrBinaryScale = 91
+pkg debug/dwarf, const AttrBinaryScale Attr
+pkg debug/dwarf, const AttrCallAllCalls = 122
+pkg debug/dwarf, const AttrCallAllCalls Attr
+pkg debug/dwarf, const AttrCallAllSourceCalls = 123
+pkg debug/dwarf, const AttrCallAllSourceCalls Attr
+pkg debug/dwarf, const AttrCallAllTailCalls = 124
+pkg debug/dwarf, const AttrCallAllTailCalls Attr
+pkg debug/dwarf, const AttrCallDataLocation = 133
+pkg debug/dwarf, const AttrCallDataLocation Attr
+pkg debug/dwarf, const AttrCallDataValue = 134
+pkg debug/dwarf, const AttrCallDataValue Attr
+pkg debug/dwarf, const AttrCallOrigin = 127
+pkg debug/dwarf, const AttrCallOrigin Attr
+pkg debug/dwarf, const AttrCallPC = 129
+pkg debug/dwarf, const AttrCallPC Attr
+pkg debug/dwarf, const AttrCallParameter = 128
+pkg debug/dwarf, const AttrCallParameter Attr
+pkg debug/dwarf, const AttrCallReturnPC = 125
+pkg debug/dwarf, const AttrCallReturnPC Attr
+pkg debug/dwarf, const AttrCallTailCall = 130
+pkg debug/dwarf, const AttrCallTailCall Attr
+pkg debug/dwarf, const AttrCallTarget = 131
+pkg debug/dwarf, const AttrCallTarget Attr
+pkg debug/dwarf, const AttrCallTargetClobbered = 132
+pkg debug/dwarf, const AttrCallTargetClobbered Attr
+pkg debug/dwarf, const AttrCallValue = 126
+pkg debug/dwarf, const AttrCallValue Attr
+pkg debug/dwarf, const AttrConstExpr = 108
+pkg debug/dwarf, const AttrConstExpr Attr
+pkg debug/dwarf, const AttrDataBitOffset = 107
+pkg debug/dwarf, const AttrDataBitOffset Attr
+pkg debug/dwarf, const AttrDecimalScale = 92
+pkg debug/dwarf, const AttrDecimalScale Attr
+pkg debug/dwarf, const AttrDecimalSign = 94
+pkg debug/dwarf, const AttrDecimalSign Attr
+pkg debug/dwarf, const AttrDefaulted = 139
+pkg debug/dwarf, const AttrDefaulted Attr
+pkg debug/dwarf, const AttrDeleted = 138
+pkg debug/dwarf, const AttrDeleted Attr
+pkg debug/dwarf, const AttrDigitCount = 95
+pkg debug/dwarf, const AttrDigitCount Attr
+pkg debug/dwarf, const AttrDwoName = 118
+pkg debug/dwarf, const AttrDwoName Attr
+pkg debug/dwarf, const AttrElemental = 102
+pkg debug/dwarf, const AttrElemental Attr
+pkg debug/dwarf, const AttrEndianity = 101
+pkg debug/dwarf, const AttrEndianity Attr
+pkg debug/dwarf, const AttrEnumClass = 109
+pkg debug/dwarf, const AttrEnumClass Attr
+pkg debug/dwarf, const AttrExplicit = 99
+pkg debug/dwarf, const AttrExplicit Attr
+pkg debug/dwarf, const AttrExportSymbols = 137
+pkg debug/dwarf, const AttrExportSymbols Attr
+pkg debug/dwarf, const AttrLinkageName = 110
+pkg debug/dwarf, const AttrLinkageName Attr
+pkg debug/dwarf, const AttrLoclistsBase = 140
+pkg debug/dwarf, const AttrLoclistsBase Attr
+pkg debug/dwarf, const AttrMacros = 121
+pkg debug/dwarf, const AttrMacros Attr
+pkg debug/dwarf, const AttrMainSubprogram = 106
+pkg debug/dwarf, const AttrMainSubprogram Attr
+pkg debug/dwarf, const AttrMutable = 97
+pkg debug/dwarf, const AttrMutable Attr
+pkg debug/dwarf, const AttrNoreturn = 135
+pkg debug/dwarf, const AttrNoreturn Attr
+pkg debug/dwarf, const AttrObjectPointer = 100
+pkg debug/dwarf, const AttrObjectPointer Attr
+pkg debug/dwarf, const AttrPictureString = 96
+pkg debug/dwarf, const AttrPictureString Attr
+pkg debug/dwarf, const AttrPure = 103
+pkg debug/dwarf, const AttrPure Attr
+pkg debug/dwarf, const AttrRank = 113
+pkg debug/dwarf, const AttrRank Attr
+pkg debug/dwarf, const AttrRecursive = 104
+pkg debug/dwarf, const AttrRecursive Attr
+pkg debug/dwarf, const AttrReference = 119
+pkg debug/dwarf, const AttrReference Attr
+pkg debug/dwarf, const AttrRnglistsBase = 116
+pkg debug/dwarf, const AttrRnglistsBase Attr
+pkg debug/dwarf, const AttrRvalueReference = 120
+pkg debug/dwarf, const AttrRvalueReference Attr
+pkg debug/dwarf, const AttrSignature = 105
+pkg debug/dwarf, const AttrSignature Attr
+pkg debug/dwarf, const AttrSmall = 93
+pkg debug/dwarf, const AttrSmall Attr
+pkg debug/dwarf, const AttrStrOffsetsBase = 114
+pkg debug/dwarf, const AttrStrOffsetsBase Attr
+pkg debug/dwarf, const AttrStringLengthBitSize = 111
+pkg debug/dwarf, const AttrStringLengthBitSize Attr
+pkg debug/dwarf, const AttrStringLengthByteSize = 112
+pkg debug/dwarf, const AttrStringLengthByteSize Attr
+pkg debug/dwarf, const AttrThreadsScaled = 98
+pkg debug/dwarf, const AttrThreadsScaled Attr
+pkg debug/dwarf, const ClassAddrPtr = 15
+pkg debug/dwarf, const ClassAddrPtr Class
+pkg debug/dwarf, const ClassLocList = 16
+pkg debug/dwarf, const ClassLocList Class
+pkg debug/dwarf, const ClassRngList = 17
+pkg debug/dwarf, const ClassRngList Class
+pkg debug/dwarf, const ClassRngListsPtr = 18
+pkg debug/dwarf, const ClassRngListsPtr Class
+pkg debug/dwarf, const ClassStrOffsetsPtr = 19
+pkg debug/dwarf, const ClassStrOffsetsPtr Class
+pkg debug/dwarf, const TagAtomicType = 71
+pkg debug/dwarf, const TagAtomicType Tag
+pkg debug/dwarf, const TagCallSite = 72
+pkg debug/dwarf, const TagCallSite Tag
+pkg debug/dwarf, const TagCallSiteParameter = 73
+pkg debug/dwarf, const TagCallSiteParameter Tag
+pkg debug/dwarf, const TagCoarrayType = 68
+pkg debug/dwarf, const TagCoarrayType Tag
+pkg debug/dwarf, const TagDynamicType = 70
+pkg debug/dwarf, const TagDynamicType Tag
+pkg debug/dwarf, const TagGenericSubrange = 69
+pkg debug/dwarf, const TagGenericSubrange Tag
+pkg debug/dwarf, const TagImmutableType = 75
+pkg debug/dwarf, const TagImmutableType Tag
+pkg debug/dwarf, const TagSkeletonUnit = 74
+pkg debug/dwarf, const TagSkeletonUnit Tag
+pkg debug/dwarf, method (*Data) AddSection(string, []uint8) error
+pkg debug/dwarf, method (*LineReader) Files() []*LineFile
+pkg debug/dwarf, method (*Reader) ByteOrder() binary.ByteOrder
+pkg encoding/asn1, const TagBMPString = 30
+pkg encoding/asn1, const TagBMPString ideal-int
+pkg encoding/json, method (*Decoder) InputOffset() int64
+pkg go/build, type Context struct, WorkingDir string
+pkg go/doc, func NewFromFiles(*token.FileSet, []*ast.File, string, ...interface{}) (*Package, error)
+pkg go/doc, type Example struct, Suffix string
+pkg go/doc, type Func struct, Examples []*Example
+pkg go/doc, type Package struct, Examples []*Example
+pkg go/doc, type Type struct, Examples []*Example
+pkg go/types, method (*Checker) LookupFieldOrMethod(Type, bool, *Package, string) (Object, []int, bool)
+pkg hash/maphash, func MakeSeed() Seed
+pkg hash/maphash, method (*Hash) BlockSize() int
+pkg hash/maphash, method (*Hash) Reset()
+pkg hash/maphash, method (*Hash) Seed() Seed
+pkg hash/maphash, method (*Hash) SetSeed(Seed)
+pkg hash/maphash, method (*Hash) Size() int
+pkg hash/maphash, method (*Hash) Sum([]uint8) []uint8
+pkg hash/maphash, method (*Hash) Sum64() uint64
+pkg hash/maphash, method (*Hash) Write([]uint8) (int, error)
+pkg hash/maphash, method (*Hash) WriteByte(uint8) error
+pkg hash/maphash, method (*Hash) WriteString(string) (int, error)
+pkg hash/maphash, type Hash struct
+pkg hash/maphash, type Seed struct
+pkg log, const Lmsgprefix = 64
+pkg log, const Lmsgprefix ideal-int
+pkg math, func FMA(float64, float64, float64) float64
+pkg math/bits, func Rem(uint, uint, uint) uint
+pkg math/bits, func Rem32(uint32, uint32, uint32) uint32
+pkg math/bits, func Rem64(uint64, uint64, uint64) uint64
+pkg mime/multipart, method (*Reader) NextRawPart() (*Part, error)
+pkg net/http, method (Header) Values(string) []string
+pkg net/http, type Transport struct, DialTLSContext func(context.Context, string, string) (net.Conn, error)
+pkg net/http/httptest, type Server struct, EnableHTTP2 bool
+pkg net/textproto, method (MIMEHeader) Values(string) []string
+pkg strconv, method (*NumError) Unwrap() error
+pkg syscall (windows-386), const CTRL_CLOSE_EVENT = 2
+pkg syscall (windows-386), const CTRL_CLOSE_EVENT ideal-int
+pkg syscall (windows-386), const CTRL_LOGOFF_EVENT = 5
+pkg syscall (windows-386), const CTRL_LOGOFF_EVENT ideal-int
+pkg syscall (windows-386), const CTRL_SHUTDOWN_EVENT = 6
+pkg syscall (windows-386), const CTRL_SHUTDOWN_EVENT ideal-int
+pkg syscall (windows-amd64), const CTRL_CLOSE_EVENT = 2
+pkg syscall (windows-amd64), const CTRL_CLOSE_EVENT ideal-int
+pkg syscall (windows-amd64), const CTRL_LOGOFF_EVENT = 5
+pkg syscall (windows-amd64), const CTRL_LOGOFF_EVENT ideal-int
+pkg syscall (windows-amd64), const CTRL_SHUTDOWN_EVENT = 6
+pkg syscall (windows-amd64), const CTRL_SHUTDOWN_EVENT ideal-int
+pkg testing, method (*B) Cleanup(func())
+pkg testing, method (*T) Cleanup(func())
+pkg testing, type TB interface, Cleanup(func())

ALL TESTS PASSED
---
Installed Go for freebsd/arm64 in /tmp/golang/go
Installed commands in /tmp/golang/go/bin
*** You need to add /tmp/golang/go/bin to your PATH.
[shigeru@freebsd12-00 /tmp/golang/go/src]$
```

実機(今回は [Pine64](https://www.pine64.org/))を使った場合、テストでタイムアウトが起きてエラーになることがあります。

```
<shigeru@pine64-01>: GOROOT_BOOTSTRAP=/tmp/golang/go-freebsd-arm64-bootstrap bash all.bash
Building Go cmd/dist using /tmp/golang/go-freebsd-arm64-bootstrap. (devel +cdf3db5df6 Thu Dec 5 04:58:28 2019 +0000 freebsd/arm64)
Building Go toolchain1 using /tmp/golang/go-freebsd-arm64-bootstrap.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for freebsd/arm64.

##### Testing packages.
ok      archive/tar     0.529s
ok      archive/zip     0.774s
ok      bufio   0.494s
ok      bytes   1.739s
ok      compress/bzip2  0.679s
ok      compress/flate  5.231s
ok      compress/gzip   0.313s
ok      compress/lzw    0.120s
ok      compress/zlib   0.435s
ok      container/heap  0.167s
ok      container/list  0.098s
ok      container/ring  0.166s
ok      context 1.137s
ok      crypto  0.103s
ok      crypto/aes      0.235s
ok      crypto/cipher   0.152s
ok      crypto/des      0.156s
ok      crypto/dsa      0.128s
ok      crypto/ecdsa    1.117s
ok      crypto/ed25519  1.292s
ok      crypto/elliptic 0.509s
ok      crypto/hmac     0.120s
ok      crypto/internal/subtle  0.119s
ok      crypto/md5      0.101s
ok      crypto/rand     0.227s
ok      crypto/rc4      0.393s
ok      crypto/rsa      0.773s
ok      crypto/sha1     0.122s
ok      crypto/sha256   0.092s
ok      crypto/sha512   0.113s
ok      crypto/subtle   0.306s
ok      crypto/tls      8.401s
ok      crypto/x509     3.680s
ok      database/sql    1.082s
ok      database/sql/driver     0.081s
ok      debug/dwarf     0.670s
ok      debug/elf       0.527s
ok      debug/gosym     0.150s
ok      debug/macho     0.180s
ok      debug/pe        0.265s
ok      debug/plan9obj  0.117s
ok      encoding/ascii85        0.157s
ok      encoding/asn1   0.617s
ok      encoding/base32 0.296s
ok      encoding/base64 0.118s
ok      encoding/binary 0.134s
ok      encoding/csv    0.119s
ok      encoding/gob    0.282s
ok      encoding/hex    0.158s
ok      encoding/json   0.917s
ok      encoding/pem    0.232s
ok      encoding/xml    0.281s
ok      errors  0.100s
ok      expvar  0.135s
ok      flag    0.096s
ok      fmt     0.763s
ok      go/ast  0.115s
ok      go/build        13.991s
ok      go/constant     0.116s
ok      go/doc  0.703s
ok      go/format       0.229s
ok      go/importer     4.964s
ok      go/internal/gccgoimporter       0.224s
ok      go/internal/gcimporter  2.928s
ok      go/internal/srcimporter 31.728s
ok      go/parser       0.383s
ok      go/printer      1.913s
ok      go/scanner      0.118s
ok      go/token        0.234s
ok      go/types        6.813s
ok      hash    0.105s
ok      hash/adler32    0.204s
ok      hash/crc32      0.112s
ok      hash/crc64      0.117s
ok      hash/fnv        0.099s
ok      hash/maphash    0.685s
ok      html    0.094s
ok      html/template   0.391s
ok      image   0.999s
ok      image/color     0.258s
ok      image/draw      0.492s
ok      image/gif       2.662s
ok      image/jpeg      2.059s
ok      image/png       0.898s
ok      index/suffixarray       3.456s
ok      internal/cpu    0.191s
ok      internal/fmtsort        0.110s
ok      internal/poll   0.267s
ok      internal/reflectlite    0.696s
ok      internal/singleflight   0.114s
ok      internal/trace  0.448s
ok      internal/xcoff  0.311s
ok      io      0.212s
ok      io/ioutil       0.285s
ok      log     0.135s
ok      log/syslog      1.509s
ok      math    0.135s
ok      math/big        10.822s
ok      math/bits       0.132s
ok      math/cmplx      0.118s
ok      math/rand       1.009s
ok      mime    0.147s
ok      mime/multipart  1.758s
ok      mime/quotedprintable    0.150s
ok      net     5.530s
ok      net/http        84.317s
ok      net/http/cgi    0.753s
ok      net/http/cookiejar      0.183s
ok      net/http/fcgi   0.117s
ok      net/http/httptest       0.388s
ok      net/http/httptrace      0.112s
ok      net/http/httputil       0.505s
ok      net/http/internal       0.094s
ok      net/http/pprof  2.167s
ok      net/internal/socktest   0.091s
ok      net/mail        0.318s
ok      net/rpc 0.379s
ok      net/rpc/jsonrpc 0.200s
ok      net/smtp        0.243s
ok      net/textproto   0.212s
ok      net/url 0.162s
ok      os      3.436s
ok      os/exec 3.430s
--- FAIL: TestTerminalSignal (10.01s)
    signal_cgo_test.go:145: "PS1='prompt> '\r\n"
    signal_cgo_test.go:170: timed out waiting for shell prompt
    signal_cgo_test.go:128: "[shigeru@pine64-01 /tmp/golang/go/src/os/signal]$ PS1='prompt> '\a"
FAIL
FAIL    os/signal       16.755s
ok      os/user 0.110s
ok      path    0.144s
ok      path/filepath   0.849s
ok      plugin  0.144s
ok      reflect 4.797s
ok      regexp  1.278s
ok      regexp/syntax   3.734s
ok      runtime 300.549s
ok      runtime/debug   1.524s
ok      runtime/internal/atomic 0.155s
ok      runtime/internal/math   0.123s
ok      runtime/internal/sys    0.119s
ok      runtime/pprof   61.168s
ok      runtime/pprof/internal/profile  0.241s
ok      runtime/trace   2.669s
ok      sort    0.513s
ok      strconv 4.361s
ok      strings 0.959s
ok      sync    1.877s
ok      sync/atomic     0.358s
ok      syscall 0.498s
ok      testing 0.945s
ok      testing/iotest  0.113s
ok      testing/quick   0.425s
ok      text/scanner    0.134s
ok      text/tabwriter  0.166s
ok      text/template   0.588s
ok      text/template/parse     0.147s
ok      time    3.363s
ok      unicode 0.131s
ok      unicode/utf16   0.085s
ok      unicode/utf8    0.109s
ok      cmd/addr2line   31.324s
ok      cmd/api 0.503s
ok      cmd/asm/internal/asm    7.166s
ok      cmd/asm/internal/lex    0.100s
ok      cmd/compile     0.797s
ok      cmd/compile/internal/gc 174.983s
ok      cmd/compile/internal/logopt     0.312s
ok      cmd/compile/internal/ssa        3.611s
ok      cmd/compile/internal/syntax     0.163s
ok      cmd/compile/internal/test       0.075s [no tests to run]
ok      cmd/compile/internal/types      0.095s
ok      cmd/cover       44.113s
ok      cmd/doc 1.027s
ok      cmd/fix 35.740s
go test proxy running at GOPROXY=http://127.0.0.1:32938/mod
--- FAIL: TestScript (0.05s)
    --- FAIL: TestScript/vet_flags (0.43s)
        script_test.go:193:
            # Issue 35837. Verify that "go vet -<analyzer> <std package>" works if 'pwd' is not $GOROOT/src
            # we utilize the package runtime/testdata/testprog as the issue is specific to vetting standard package (0.045s)
            > go vet -n -unreachable=false runtime/testdata/testprog
            [signal: interrupt]
            FAIL: testdata/script/vet_flags.txt:6: test timed out while running command

    --- FAIL: TestScript/test_go111module_cache (0.08s)
        script_test.go:193:
            > env GO111MODULE=on
            > go mod init foo
            [signal: interrupt]
            FAIL: testdata/script/test_go111module_cache.txt:2: test timed out while running command

    --- FAIL: TestScript/vet_deps (0.14s)
        script_test.go:193:
            # Issue 30296. Verify that "go vet" uses only immediate dependencies.
            # First run fills the cache. (0.046s)
            > go vet a
            [signal: interrupt]
            FAIL: testdata/script/vet_deps.txt:6: test timed out while running command

    --- FAIL: TestScript/test_generated_main (0.10s)
        script_test.go:193:
            # Tests that the generated test main file has a generated code comment.
            # This is needed by analyzers that access source files through 'go list'.
            # Verifies golang.org/issue/31971.
            # TODO(jayconrod): This test is brittle. We should write _testmain.go as
            # a build action instead of with an ad-hoc WriteFile call
            # in internal/test/test.go. Then we could just grep 'go get -n'. (0.053s)
            > go test x_test.go
            [signal: interrupt]
            FAIL: testdata/script/test_generated_main.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_tidy_sum (0.16s)
        script_test.go:193:
            # go.sum should list directly used modules and dependencies (0.060s)
            > go get -d rsc.io/quote@v1.5.2
            [signal: interrupt]
            FAIL: testdata/script/mod_tidy_sum.txt:4: test timed out while running command

    --- FAIL: TestScript/test_compile_binary (0.09s)
        script_test.go:193:
            > env GO111MODULE=off
            > ! go test -c compile_binary/...
            [signal: interrupt]
            FAIL: testdata/script/test_compile_binary.txt:3: test timed out while running command

    --- FAIL: TestScript/pattern_syntax_error (0.21s)
        script_test.go:193:
            # patterns match directories with syntax errors (0.076s)
            > ! go list ./...
            [signal: interrupt]
            FAIL: testdata/script/pattern_syntax_error.txt:4: test timed out while running command

    --- FAIL: TestScript/noncanonical_import (0.15s)
        script_test.go:193:
            > env GO111MODULE=off
            > ! go build canonical/d
            [signal: interrupt]
            FAIL: testdata/script/noncanonical_import.txt:3: test timed out while running command

    --- FAIL: TestScript/modfile_flag (0.15s)
        script_test.go:193:
            # Tests the behavior of the -modfile flag in commands that support it.
            # The go.mod file exists but should not be read or written.
            # Same with go.sum. (0.008s)
            # go mod init should create a new file, even though go.mod already exists. (0.051s)
            > go mod init example.com/m
            [signal: interrupt]
            FAIL: testdata/script/modfile_flag.txt:11: test timed out while running command

    --- FAIL: TestScript/test_badtest (0.16s)
        script_test.go:193:
            > env GO111MODULE=off
            > ! go test badtest/...
            [signal: interrupt]
            FAIL: testdata/script/test_badtest.txt:3: test timed out while running command

    --- FAIL: TestScript/sum_readonly (0.08s)
        script_test.go:193:
            # Test that go.sum does not get updated when -mod=readonly flag is set (0.037s)
            > env GO111MODULE=on
            > go get -d rsc.io/quote
            [signal: interrupt]
            FAIL: testdata/script/sum_readonly.txt:4: test timed out while running command

    --- FAIL: TestScript/script_wait (0.15s)
        script_test.go:193:
            > env GO111MODULE=off
            > [!exec:echo] skip
            > [!exec:false] skip
            > exec echo foo
            [signal: interrupt]
            FAIL: testdata/script/script_wait.txt:6: test timed out while running command

    --- FAIL: TestScript/std_vendor (0.18s)
        script_test.go:193:
            # 'go list' should report imports from _test.go in the TestImports field. (0.045s)
            > go list -f '{{.TestImports}}'
            [signal: interrupt]
            FAIL: testdata/script/std_vendor.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_tidy_quote (0.10s)
        script_test.go:193:
            # Check that mod tidy does not introduce repeated
            # require statements when input go.mod has quoted requirements. (0.053s)
            > env GO111MODULE=on
            > go mod tidy
            [signal: interrupt]
            FAIL: testdata/script/mod_tidy_quote.txt:5: test timed out while running command

    --- FAIL: TestScript/run_wildcard (0.09s)
        script_test.go:193:
            # Fix for https://github.com/golang/go/issues/28696:
            # go run x/... should not panic when directory x doesn't exist. (0.060s)
            > ! go run nonexistent/...
            [signal: interrupt]
            FAIL: testdata/script/run_wildcard.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_versions (0.12s)
        script_test.go:193:
            # Test rejection of pkg@version in GOPATH mode. (0.077s)
            > env GO111MODULE=off
            > ! go get rsc.io/quote@v1.5.1
            [signal: interrupt]
            FAIL: testdata/script/mod_versions.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_tidy_error (0.13s)
        script_test.go:193:
            # Regression test for golang.org/issue/27063:
            # 'go mod tidy' and 'go mod vendor' should not hide loading errors. (0.042s)
            > ! go mod tidy
            [signal: interrupt]
            FAIL: testdata/script/mod_tidy_error.txt:6: test timed out while running command

    --- FAIL: TestScript/run_hello (0.09s)
        script_test.go:193:
            # hello world (0.052s)
            > go run hello.go
            [signal: interrupt]
            FAIL: testdata/script/run_hello.txt:4: test timed out while running command

    --- FAIL: TestScript/prevent_sys_unix_import (0.10s)
        script_test.go:193:
            # Policy decision: we shouldn't vendor golang.org/x/sys/unix in std
            # See https://golang.org/issue/32102 (0.062s)
            > env GO111MODULE=on
            > go list std
            [signal: interrupt]
            FAIL: testdata/script/prevent_sys_unix_import.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_tidy_cycle (0.21s)
        script_test.go:193:
            # Regression test for https://golang.org/issue/34086:
            # 'go mod tidy' produced different go.mod file from other
            # subcommands when certain kinds of cycles were present
            # in the build graph. (0.057s)
            > env GO111MODULE=on
            > cp go.mod go.mod.orig
            > go mod tidy
            [signal: interrupt]
            FAIL: testdata/script/mod_tidy_cycle.txt:9: test timed out while running command

    --- FAIL: TestScript/mod_tidy (0.23s)
        script_test.go:193:
            # tidy removes unused y, but everything else is used (0.064s)
            > go mod tidy -v
            [signal: interrupt]
            FAIL: testdata/script/mod_tidy.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_test_files (0.13s)
        script_test.go:193:
            # Testing an explicit source file should use the same import visibility as the
            # package in the same directory. (0.041s)
            > go list -test -deps
            [signal: interrupt]
            FAIL: testdata/script/mod_test_files.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_vendor_unused (0.22s)
        script_test.go:193:
            # Auxiliary test for inclusion of otherwise-unused replacements in
            # vendor/modules.txt for golang.org/issue/33848.
            # We need metadata about replacements in order to verify that modules.txt
            # remains in sync with the main module's go.mod file. (0.049s)
            > env GO111MODULE=on
            > go mod vendor
            [signal: interrupt]
            FAIL: testdata/script/mod_vendor_unused.txt:8: test timed out while running command

    --- FAIL: TestScript/test_status (0.14s)
        script_test.go:193:
            > env GO111MODULE=off
            > ! go test x y
            [signal: interrupt]
            FAIL: testdata/script/test_status.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_vendor_replace (0.15s)
        script_test.go:193:
            # Before vendoring, we expect to see the original directory. (0.067s)
            > go list -f '{{with .Module}}{{.Version}}{{end}} {{.Dir}}' rsc.io/quote/v3
            [signal: interrupt]
            FAIL: testdata/script/mod_vendor_replace.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_vendor_nodeps (0.09s)
        script_test.go:193:
            > env GO111MODULE=on
            > go mod vendor
            [signal: interrupt]
            FAIL: testdata/script/mod_vendor_nodeps.txt:3: test timed out while running command

    --- FAIL: TestScript/vendor_complex (0.41s)
        script_test.go:193:
            # smoke test for complex build configuration (0.107s)
            > go build -o complex.exe complex
            [signal: interrupt]
            FAIL: testdata/script/vendor_complex.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_sumdb_proxy (0.09s)
        script_test.go:193:
            # basic fetch (through proxy) works (0.052s)
            > cp go.mod.orig go.mod
            > go get -d rsc.io/fortune@v1.0.0 # note: must use test proxy, does not exist in real world
            [signal: interrupt]
            FAIL: testdata/script/mod_sumdb_proxy.txt:8: test timed out while running command

    --- FAIL: TestScript/mod_symlink (0.18s)
        script_test.go:193:
            # 'go list' should resolve modules of imported packages. (0.111s)
            > go list -deps -f '{{.Module}}' .
            [signal: interrupt]
            FAIL: testdata/script/mod_symlink.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_sumdb_golang (0.11s)
        script_test.go:193:
            # Test default GOPROXY and GOSUMDB (0.072s)
            > env GOPROXY=
            > env GOSUMDB=
            > go env GOPROXY
            [signal: interrupt]
            FAIL: testdata/script/mod_sumdb_golang.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_enabled (0.20s)
        script_test.go:193:
            # GO111MODULE=auto should trigger any time a go.mod exists in a parent directory. (0.056s)
            > env GO111MODULE=auto
            > cd $GOPATH/src/x/y/z
            $WORK/gopath/src/x/y/z
            > go env GOMOD
            [signal: interrupt]
            FAIL: testdata/script/mod_enabled.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_empty_err (0.21s)
        script_test.go:193:
            # This test checks error messages for non-existant packages in module mode.
            # Veries golang.org/issue/35414 (0.061s)
            > env GO111MODULE=on
            > cd $WORK
            $WORK
            > go list -e -f {{.Error}} .
            [signal: interrupt]
            FAIL: testdata/script/mod_empty_err.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_edit_go (0.09s)
        script_test.go:193:
            # Test support for go mod -edit to set language version. (0.042s)
            > env GO111MODULE=on
            > ! go build
            [signal: interrupt]
            FAIL: testdata/script/mod_edit_go.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_sumdb_cache (0.11s)
        script_test.go:193:
            # rejected proxy fails verification (0.045s)
            > cp go.mod.orig go.mod
            > rm go.sum
            > env GOPROXY=$proxy/sumdb-503
            > ! go get -d rsc.io/quote
            [signal: interrupt]
            FAIL: testdata/script/mod_sumdb_cache.txt:10: test timed out while running command

    --- FAIL: TestScript/mod_sumdb (0.13s)
        script_test.go:193:
            # disagreeing with the sumdb produces security errors
            # (this also populates tiles on the sumdb server). (0.059s)
            > cp go.mod.orig go.mod
            > env GOSUMDB=$sumdb' '$proxy/sumdb-wrong
            > ! go get -d rsc.io/quote
            [signal: interrupt]
            FAIL: testdata/script/mod_sumdb.txt:11: test timed out while running command

    --- FAIL: TestScript/mod_edit (0.25s)
        script_test.go:193:
            # Test that go mod edits and related mod flags work.
            # Also test that they can use a dummy name that isn't resolvable. golang.org/issue/24100
            # go mod init (0.048s)
            > ! go mod init
            [signal: interrupt]
            FAIL: testdata/script/mod_edit.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_download_replace_file (0.17s)
        script_test.go:193:
            # This test checks that 'go mod download' produces no output for
            # the main module (when specified implicitly) and for a module replaced
            # with a file path.
            # Verifies golang.org/issue/35505. (0.065s)
            > go mod download -json all
            [signal: interrupt]
            FAIL: testdata/script/mod_download_replace_file.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_sum_replaced (0.11s)
        script_test.go:193:
            # After 'go get -d', the go.sum file should contain the sum for the module. (0.059s)
            > go get -d rsc.io/quote@v1.5.0
            [signal: interrupt]
            FAIL: testdata/script/mod_sum_replaced.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_download_json (0.13s)
        script_test.go:193:
            # download -json with version should print JSON on sumdb failure (0.067s)
            > ! go mod download -json 'rsc.io/quote@<=v1.5.0'
            [signal: interrupt]
            FAIL: testdata/script/mod_download_json.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_std_vendor (0.16s)
        script_test.go:193:
            # 'go list' should report imports from _test.go in the TestImports field. (0.044s)
            > go list -f '{{.TestImports}}'
            [signal: interrupt]
            FAIL: testdata/script/mod_std_vendor.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_run_path (0.14s)
        script_test.go:193:
            # Test that go run does not get confused by conflict
            # between go.mod's module path and what you'd
            # expect from GOPATH. golang.org/issue/26046. (0.061s)
            > env GO111MODULE=on
            > cd $GOPATH/src/example.com/hello
            $WORK/gopath/src/example.com/hello
            > go run main.go
            [signal: interrupt]
            FAIL: testdata/script/mod_run_path.txt:8: test timed out while running command

    --- FAIL: TestScript/mod_vendor (0.71s)
        script_test.go:193:
            # Without vendoring, a build should succeed unless -mod=vendor is set. (0.000s)
            # Without vendoring, 'go list' should report the replacement directory for
            # a package in a replaced module. (0.058s)
            > go list -f {{.Dir}} x
            [signal: interrupt]
            FAIL: testdata/script/mod_vendor.txt:9: test timed out while running command

    --- FAIL: TestScript/mod_run_internal (0.20s)
        script_test.go:193:
            > env GO111MODULE=on
            > go list -e -f '{{.Incomplete}}' runbad1.go
            [signal: interrupt]
            FAIL: testdata/script/mod_run_internal.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_require_exclude (0.14s)
        script_test.go:193:
            # build with no newer version to satisfy exclude (0.083s)
            > env GO111MODULE=on
            > ! go list -m all
            [signal: interrupt]
            FAIL: testdata/script/mod_require_exclude.txt:3: test timed out while running command

    --- FAIL: TestScript/help (0.13s)
        script_test.go:193:
            # go help shows overview. (0.066s)
            > go help
            [signal: interrupt]
            FAIL: testdata/script/help.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_download (0.11s)
        script_test.go:193:
            # download with version should print nothing (0.055s)
            > go mod download rsc.io/quote@v1.5.0
            [signal: interrupt]
            FAIL: testdata/script/mod_download.txt:5: test timed out while running command

    --- FAIL: TestScript/gopath_paths (0.11s)
        script_test.go:193:
            # Regression test for GOPATH validation in GOPATH mode. (0.000s)
            # The literal path '.' in GOPATH should be rejected. (0.050s)
            > env GOPATH=.
            > ! go build go-cmd-test/helloworld.go
            [signal: interrupt]
            FAIL: testdata/script/gopath_paths.txt:8: test timed out while running command

    --- FAIL: TestScript/mod_dot (0.11s)
        script_test.go:193:
            # golang.org/issue/32917 and golang.org/issue/28459: 'go build' and 'go test'
            # in an empty directory should refer to the path '.' and should not attempt
            # to resolve an external module. (0.045s)
            > cd dir
            $WORK/gopath/src/dir
            > ! go get .
            [signal: interrupt]
            FAIL: testdata/script/mod_dot.txt:7: test timed out while running command

    --- FAIL: TestScript/gopath_std_vendor (0.33s)
        script_test.go:193:
            > env GO111MODULE=off
            > [!gc] skip
            > go list -f '{{.Dir}}' vendor/golang.org/x/net/http2/hpack
            [signal: interrupt]
            FAIL: testdata/script/gopath_std_vendor.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_replace_import (0.45s)
        script_test.go:193:
            # 'go list -mod=readonly' should not add requirements even if they can be
            # resolved locally. (0.095s)
            > cp go.mod go.mod.orig
            > ! go list -mod=readonly all
            [signal: interrupt]
            FAIL: testdata/script/mod_replace_import.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_domain_root (0.09s)
        script_test.go:193:
            # Module paths that are domain roots should resolve.
            # (example.com not example.com/something) (0.046s)
            > env GO111MODULE=on
            > go build
            [signal: interrupt]
            FAIL: testdata/script/mod_domain_root.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_query_exclude (0.13s)
        script_test.go:193:
            # get excluded version (0.060s)
            > cp go.mod1 go.mod
            > ! go get rsc.io/quote@v1.5.0
            [signal: interrupt]
            FAIL: testdata/script/mod_query_exclude.txt:6: test timed out while running command

    --- FAIL: TestScript/goflags (0.12s)
        script_test.go:193:
            # GOFLAGS sets flags for commands (0.071s)
            > env GOFLAGS='-e -f={{.Dir}} --test.benchtime=1s -count=10'
            > go list asdfasdfasdf  # succeeds because of -e
            [signal: interrupt]
            FAIL: testdata/script/goflags.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_query (0.15s)
        script_test.go:193:
            > env GO111MODULE=on
            > go list -m -versions rsc.io/quote
            [signal: interrupt]
            FAIL: testdata/script/mod_query.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_dir (0.16s)
        script_test.go:193:
            # The directory named go.mod should be ignored (0.081s)
            > env GO111MODULE=on
            > cd $WORK/sub
            $WORK/sub
            > go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_dir.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_convert_vendor_yml (0.10s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.055s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_vendor_yml.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_proxy_list (0.18s)
        script_test.go:193:
            # Proxy that can't serve should fail. (0.067s)
            > env GOPROXY=$proxy/404
            > ! go get rsc.io/quote@v1.0.0
            [signal: interrupt]
            FAIL: testdata/script/mod_proxy_list.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_proxy_https (0.16s)
        script_test.go:193:
            # GOPROXY file paths must provide the "file://" prefix explicitly. (0.067s)
            > env GOPROXY=$WORK/proxydir
            > ! go list -versions -m golang.org/x/text
            [signal: interrupt]
            FAIL: testdata/script/mod_proxy_https.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_query_empty (0.54s)
        script_test.go:193:
            > env GO111MODULE=on
            > env GOSUMDB=off
            > go mod download example.com/join@v1.1.0
            [signal: interrupt]
            FAIL: testdata/script/mod_query_empty.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_convert_vendor_manifest (0.18s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.072s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_vendor_manifest.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_convert_vendor_json (0.13s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.056s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_vendor_json.txt:6: test timed out while running command

    --- FAIL: TestScript/get_brace (0.17s)
        script_test.go:193:
            # Set up some empty repositories. (0.084s)
            > cd $WORK/_origin/foo
            $WORK/_origin/foo
            > exec git init
            [signal: interrupt]
            FAIL: testdata/script/get_brace.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_convert_vendor_conf (0.16s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.044s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_vendor_conf.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_patterns_vendor (0.23s)
        script_test.go:193:
            > env GO111MODULE=on
            > go list -mod=vendor example.com/...
            [signal: interrupt]
            FAIL: testdata/script/mod_patterns_vendor.txt:3: test timed out while running command

    --- FAIL: TestScript/gccgo_mangle (0.10s)
        script_test.go:193:
            # Issue 33871. (0.044s)
            > cd m/a.0
            $WORK/gopath/src/m/a.0
            > go build
            [signal: interrupt]
            FAIL: testdata/script/gccgo_mangle.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_convert_tsv (0.11s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.057s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_tsv.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_off_init (0.13s)
        script_test.go:193:
            # 'go mod init' should refuse to initialize a module if it will be
            # ignored anyway due to GO111MODULE=off. (0.063s)
            > env GO111MODULE=off
            > ! go mod init
            [signal: interrupt]
            FAIL: testdata/script/mod_off_init.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_convert_godeps (0.15s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.063s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_godeps.txt:6: test timed out while running command

    --- FAIL: TestScript/fmt_load_errors (0.21s)
        script_test.go:193:
            > env GO111MODULE=off
            > ! go fmt does-not-exist
            [signal: interrupt]
            FAIL: testdata/script/fmt_load_errors.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_off (0.14s)
        script_test.go:193:
            # This script tests that running go mod with
            # GO111MODULE=off when outside of GOPATH will fatal
            # with an error message, even with some source code in the directory and a go.mod. (0.063s)
            > ! go mod init
            [signal: interrupt]
            FAIL: testdata/script/mod_off.txt:6: test timed out while running command

    --- FAIL: TestScript/fileline (0.17s)
        script_test.go:193:
            # look for short, relative file:line in error message (0.051s)
            > ! go run ../../gopath/x/y/z/err.go
            [signal: interrupt]
            FAIL: testdata/script/fileline.txt:4: test timed out while running command

    --- FAIL: TestScript/env_write (0.12s)
        script_test.go:193:
            # go env should default to the right places (0.080s)
            > env AppData=$HOME/windowsappdata
            > env home=$HOME/plan9home
            > go env GOENV
            [signal: interrupt]
            FAIL: testdata/script/env_write.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_nomod (0.13s)
        script_test.go:193:
            # Test go commands with no module. (0.000s)
            # go mod edit fails unless given explicit mod file argument (0.068s)
            > ! go mod edit -json
            [signal: interrupt]
            FAIL: testdata/script/mod_nomod.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_convert_glockfile (0.16s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.090s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_glockfile.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_multirepo (0.20s)
        script_test.go:193:
            # initial standalone module should use no downloaded modules (0.042s)
            > go list -deps -f {{.Dir}}
            [signal: interrupt]
            FAIL: testdata/script/mod_multirepo.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_modinfo (0.15s)
        script_test.go:193:
            # Test to ensure runtime/debug.ReadBuildInfo parses
            # the modinfo embedded in a binary by the go tool
            # when module is enabled. (0.042s)
            > env GO111MODULE=on
            > cd x
            $WORK/gopath/src/x
            > go mod edit -require=rsc.io/quote@v1.5.2
            [signal: interrupt]
            FAIL: testdata/script/mod_modinfo.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_convert_glide (0.19s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.111s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_glide.txt:6: test timed out while running command

    --- FAIL: TestScript/devnull (0.19s)
        script_test.go:193:
            # Issue 28035: go test -c -o NUL should work.
            # Issue 28549: go test -c -o /dev/null should not overwrite /dev/null when run as root. (0.113s)
            > cd x
            $WORK/gopath/src/x
            > cmp $devnull $WORK/empty.txt
            > go test -o=$devnull -c
            [signal: interrupt]
            FAIL: testdata/script/devnull.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_missingpkg_prerelease (0.11s)
        script_test.go:193:
            > env GO111MODULE=on
            > ! go list use.go
            [signal: interrupt]
            FAIL: testdata/script/mod_missingpkg_prerelease.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_convert_git (0.14s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.053s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_git.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_local_replace (0.19s)
        script_test.go:193:
            # Test that local replacements work even with dummy module names.
            # golang.org/issue/24100. (0.042s)
            > env GO111MODULE=on
            > cd x/y
            $WORK/gopath/src/x/y
            > go list -f '{{.Dir}}' zz
            [signal: interrupt]
            FAIL: testdata/script/mod_local_replace.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_load_badzip (0.11s)
        script_test.go:193:
            # Zip files with unexpected file names inside should be rejected. (0.053s)
            > env GO111MODULE=on
            > ! go get -d rsc.io/badzip
            [signal: interrupt]
            FAIL: testdata/script/mod_load_badzip.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_convert_dep (0.19s)
        script_test.go:193:
            # We should not create a go.mod file unless the user ran 'go mod init' explicitly.
            # However, we should suggest 'go mod init' if we can find an alternate config file. (0.042s)
            > cd $WORK/test/x
            $WORK/test/x
            > ! go list .
            [signal: interrupt]
            FAIL: testdata/script/mod_convert_dep.txt:6: test timed out while running command

    --- FAIL: TestScript/cover_mod_empty (0.12s)
        script_test.go:193:
            > go tool cover -func=cover.out
            [signal: interrupt]
            FAIL: testdata/script/cover_mod_empty.txt:1: test timed out while running command

    --- FAIL: TestScript/mod_load_badmod (0.18s)
        script_test.go:193:
            # Unknown lines should be ignored in dependency go.mod files. (0.110s)
            > env GO111MODULE=on
            > go list -m all
            [signal: interrupt]
            FAIL: testdata/script/mod_load_badmod.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_concurrent (0.23s)
        script_test.go:193:
            # Concurrent builds should succeed, even if they need to download modules. (0.128s)
            > go build ./x &
            > go build ./y
            [signal: interrupt]
            FAIL: testdata/script/mod_concurrent.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_clean_cache (0.21s)
        script_test.go:193:
            # 'mod download' should download the module to the cache. (0.040s)
            > go mod download rsc.io/quote@v1.5.0
            [signal: interrupt]
            FAIL: testdata/script/mod_clean_cache.txt:4: test timed out while running command

    --- FAIL: TestScript/cmd_import_error (0.15s)
        script_test.go:193:
            # Regression test for golang.org/issue/31031:
            # Importing or loading a non-existent package in cmd/ should print
            # a clear error in module mode. (0.074s)
            > ! go list cmd/unknown
            [signal: interrupt]
            FAIL: testdata/script/cmd_import_error.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_list_upgrade_pseudo (0.15s)
        script_test.go:193:
            # For this test module there are three versions:
            #   * v0.1.1-0.20190429073117-b5426c86b553
            #   * v0.1.0
            #   * v0.0.0-20190430073000-30950c05d534
            # Only v0.1.0 is tagged.
            #
            # The v0.1.1 pseudo-version is semantically higher than the latest tag.
            # The v0.0.0 pseudo-version is chronologically newer.
            # The latest pseudo-version is semantically higher than the latest tag.
            # 'list -u' should not suggest a lower version as an upgrade. (0.054s)
            > go get -d example.com/pseudoupgrade@b5426c8
            [signal: interrupt]
            FAIL: testdata/script/mod_list_upgrade_pseudo.txt:15: test timed out while running command

    --- FAIL: TestScript/mod_case_cgo (0.09s)
        script_test.go:193:
            > [!cgo] skip
            > env GO111MODULE=on
            > go get rsc.io/CGO
            [signal: interrupt]
            FAIL: testdata/script/mod_case_cgo.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_list_upgrade (0.13s)
        script_test.go:193:
            > env GO111MODULE=on
            > go list -m -u all
            [signal: interrupt]
            FAIL: testdata/script/mod_list_upgrade.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_list_test (0.13s)
        script_test.go:193:
            # go list -compiled -test must handle test-only packages
            # golang.org/issue/27097. (0.076s)
            > go list -compiled -test
            [signal: interrupt]
            FAIL: testdata/script/mod_list_test.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_case (0.09s)
        script_test.go:193:
            > env GO111MODULE=on
            > go get rsc.io/QUOTE
            [signal: interrupt]
            FAIL: testdata/script/mod_case.txt:3: test timed out while running command

    --- FAIL: TestScript/cache_unix (0.15s)
        script_test.go:193:
            # Integration test for cache directory calculation (cmd/go/internal/cache). (0.018s)
            # Set GOCACHE, XDG_CACHE_HOME, and HOME. (0.000s)
            # With all three set, we should prefer GOCACHE. (0.063s)
            > go env GOCACHE
            [signal: interrupt]
            FAIL: testdata/script/cache_unix.txt:19: test timed out while running command

    --- FAIL: TestScript/mod_list_replace_dir (0.12s)
        script_test.go:193:
            # Test that "go list" succeeds when given a directory in a replacement
            # module within the module cache.
            # Verifies golang.org/issue/29548 (0.062s)
            > env GO111MODULE=on
            > go mod download
            [signal: interrupt]
            FAIL: testdata/script/mod_list_replace_dir.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_cache_rw (0.17s)
        script_test.go:193:
            # Regression test for golang.org/issue/31481. (0.012s)
            # golang.org/issue/31481: an explicit flag should make directories in the module
            # cache writable in order to work around the historical inability of 'rm -rf' to
            # forcibly remove files in unwritable directories. (0.061s)
            > go get -modcacherw -d rsc.io/quote@v1.5.2
            [signal: interrupt]
            FAIL: testdata/script/mod_cache_rw.txt:8: test timed out while running command

    --- FAIL: TestScript/mod_list_pseudo (0.20s)
        script_test.go:193:
            # Regression test for golang.org/issue/32715.
            # When using $GOPATH/pkg/mod/cache/download as a proxy,
            # 'latest' queries should prefer tagged versions over pseudo-versions. (0.065s)
            > go mod download github.com/dmitshur-test/modtest5@v0.0.0-20190619020302-197a620e0c9a
            [signal: interrupt]
            FAIL: testdata/script/mod_list_pseudo.txt:8: test timed out while running command

    --- FAIL: TestScript/mod_build_tags (0.15s)
        script_test.go:193:
            # Test that build tags are used.
            # golang.org/issue/24053. (0.079s)
            > env GO111MODULE=on
            > cd x
            $WORK/gopath/src/x
            > ! go list -f {{.GoFiles}}
            [signal: interrupt]
            FAIL: testdata/script/mod_build_tags.txt:7: test timed out while running command

    --- FAIL: TestScript/build_relative_tmpdir (0.12s)
        script_test.go:193:
            # If GOTMPDIR is relative, 'go build' should derive an absolute $WORK directory. (0.051s)
            > cd $WORK
            $WORK
            > mkdir tmp
            > env GOTMPDIR=tmp
            > go build -work a
            [signal: interrupt]
            FAIL: testdata/script/build_relative_tmpdir.txt:7: test timed out while running command

    --- FAIL: TestScript/build_nocache (0.13s)
        script_test.go:193:
            # As of Go 1.12, the module cache is required.
            # If none of the variables we use to locate GOCACHE are set, the cache is off
            # and we cannot build. (0.057s)
            > env GOCACHE=
            > env XDG_CACHE_HOME=
            > env HOME=
            > [plan9] env home=
            > [windows] env LocalAppData=
            > ! go build -o triv triv.go
            [signal: interrupt]
            FAIL: testdata/script/build_nocache.txt:12: test timed out while running command

    --- FAIL: TestScript/mod_build_info_err (0.15s)
        script_test.go:193:
            # This test verifies that line numbers are included in module import errors.
            # Verifies golang.org/issue/34393. (0.064s)
            > go list -e -deps -f '{{with .Error}}{{.Pos}}: {{.Err}}{{end}}' ./main
            [signal: interrupt]
            FAIL: testdata/script/mod_build_info_err.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_bad_filenames (0.11s)
        script_test.go:193:
            > env GO111MODULE=on
            > ! go get rsc.io/badfile1 rsc.io/badfile2 rsc.io/badfile3 rsc.io/badfile4 rsc.io/badfile5
            [signal: interrupt]
            FAIL: testdata/script/mod_bad_filenames.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_list_bad_import (0.18s)
        script_test.go:193:
            # This test matches list_bad_import, but in module mode.
            # Please keep them in sync. (0.000s)
            # Without -e, listing an otherwise-valid package with an unsatisfied direct import should fail.
            # BUG: Today it succeeds. (0.055s)
            > go list -f '{{if .Error}}error{{end}} {{if .Incomplete}}incomplete{{end}} {{range .DepsErrors}}bad dep: {{.Err}}{{end}}' example.com/direct
            [signal: interrupt]
            FAIL: testdata/script/mod_list_bad_import.txt:9: test timed out while running command

    --- FAIL: TestScript/build_multi_main (0.19s)
        script_test.go:193:
            # Verify build -o can output multiple executables to a directory. (0.049s)
            > mkdir $WORK/bin
            > go build -o $WORK/bin ./cmd/c1 ./cmd/c2
            [signal: interrupt]
            FAIL: testdata/script/build_multi_main.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_bad_domain (0.12s)
        script_test.go:193:
            # explicit get should report errors about bad names (0.051s)
            > ! go get appengine
            [signal: interrupt]
            FAIL: testdata/script/mod_bad_domain.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_install_versioned (0.14s)
        script_test.go:193:
            > env GO111MODULE=on
            > go list -f '{{.Target}}' rsc.io/fortune
            [signal: interrupt]
            FAIL: testdata/script/mod_install_versioned.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_ambiguous_import (0.17s)
        script_test.go:193:
            # An import provided by two different modules should be flagged as an error. (0.059s)
            > ! go build ./importx
            [signal: interrupt]
            FAIL: testdata/script/mod_ambiguous_import.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_init_path (0.20s)
        script_test.go:193:
            > env GO111MODULE=on
            > ! go mod init .
            [signal: interrupt]
            FAIL: testdata/script/mod_init_path.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_alt_goroot (0.13s)
        script_test.go:193:
            # If the working directory is a different GOROOT, then the 'std' module should be
            # treated as an ordinary module (with an ordinary module prefix).
            # It should not override packages in GOROOT, but should not fail the command.
            # See golang.org/issue/30756. (0.047s)
            > go list -e -deps -f '{{.ImportPath}} {{.Dir}}' ./bytes
            [signal: interrupt]
            FAIL: testdata/script/mod_alt_goroot.txt:7: test timed out while running command

    --- FAIL: TestScript/list_test_non_go_files (0.15s)
        script_test.go:193:
            # issue 29899: handling files with non-Go extension (0.086s)
            > go list -e -test -json -- c.c x.go
            [signal: interrupt]
            FAIL: testdata/script/list_test_non_go_files.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_init_empty (0.16s)
        script_test.go:193:
            > env GO111MODULE=on
            > env GOPATH=$devnull
            > go list -m
            [signal: interrupt]
            FAIL: testdata/script/mod_init_empty.txt:5: test timed out while running command

    --- FAIL: TestScript/list_test_imports (0.12s)
        script_test.go:193:
            # issue 26880: list with tests has wrong variant in imports (0.046s)
            > go list -test -f '{{.ImportPath}}:{{with .Imports}} {{join . ", "}}{{end}}' a b
            [signal: interrupt]
            FAIL: testdata/script/list_test_imports.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_indirect_main (0.20s)
        script_test.go:193:
            # Regression test for golang.org/issue/29773: 'go list -m' was not following
            # dependencies through older versions of the main module. (0.081s)
            > go list -f '{{with .Module}}{{.Path}}{{with .Version}} {{.}}{{end}}{{end}}' all
            [signal: interrupt]
            FAIL: testdata/script/mod_indirect_main.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_indirect_tidy (0.22s)
        script_test.go:193:
            # golang.org/issue/31248: loading the build list must not add explicit entries
            # for indirect dependencies already implied by older-than-selected versions
            # already in the build list. (0.079s)
            > cp go.mod.orig go.mod
            > go mod tidy
            [signal: interrupt]
            FAIL: testdata/script/mod_indirect_tidy.txt:8: test timed out while running command

    --- FAIL: TestScript/list_test_err (0.23s)
        script_test.go:193:
            # issue 28491: errors in test source files should not prevent
            # "go list -test" from returning useful information.
            # go list prints information for package, internal test,
            # external test, but not testmain package when there is a
            # syntax error in test sources. (0.067s)
            > ! go list -test -deps syntaxerr
            [signal: interrupt]
            FAIL: testdata/script/list_test_err.txt:9: test timed out while running command

    --- FAIL: TestScript/list_test_e (0.15s)
        script_test.go:193:
            # issue 25980: crash in go list -e -test (0.088s)
            > go list -e -test -deps -f '{{.Error}}' p
            [signal: interrupt]
            FAIL: testdata/script/list_test_e.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_in_testdata_dir (0.17s)
        script_test.go:193:
            # Regression test for golang.org/issue/28481:
            # 'mod tidy' removed dependencies if the module root was
            # within a directory named 'testdata' or '_foo'. (0.000s)
            # A module should be allowed in a directory named testdata. (0.067s)
            > cd $WORK/testdata
            $WORK/testdata
            > go mod init testdata.tld/foo
            [signal: interrupt]
            FAIL: testdata/script/mod_in_testdata_dir.txt:9: test timed out while running command

    --- FAIL: TestScript/mod_import_v1suffix (0.09s)
        script_test.go:193:
            > env GO111MODULE=on
            > ! go get -d example.com/invalidpath/v1
            [signal: interrupt]
            FAIL: testdata/script/mod_import_v1suffix.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_indirect (0.32s)
        script_test.go:193:
            # golang.org/issue/31248: module requirements imposed by dependency versions
            # older than the selected version must still be taken into account. (0.001s)
            # Indirect dependencies required via older-than-selected versions must exist in
            # the module graph, but do not need to be listed explicitly in the go.mod file
            # (since they are implied). (0.067s)
            > go mod graph
            [signal: interrupt]
            FAIL: testdata/script/mod_indirect.txt:11: test timed out while running command

    --- FAIL: TestScript/mod_import_mod (0.13s)
        script_test.go:193:
            # Test that GOPATH/pkg/mod is excluded (0.046s)
            > env GO111MODULE=off
            > ! go list mod/foo
            [signal: interrupt]
            FAIL: testdata/script/mod_import_mod.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_get_none (0.13s)
        script_test.go:193:
            > env GO111MODULE=on
            > go mod init example.com/foo
            [signal: interrupt]
            FAIL: testdata/script/mod_get_none.txt:3: test timed out while running command

    --- FAIL: TestScript/list_split_main (0.17s)
        script_test.go:193:
            # This test checks that a "main" package with an external test package
            # is recompiled only once.
            # Verifies golang.org/issue/34321. (0.073s)
            > env GO111MODULE=off
            > go list -e -test -deps -f '{{if not .Standard}}{{.ImportPath}}{{end}}' pkg
            [signal: interrupt]
            FAIL: testdata/script/list_split_main.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_get_newcycle (0.12s)
        script_test.go:193:
            # Download modules to avoid stderr chatter (0.056s)
            > go mod download example.com@v1.0.0
            [signal: interrupt]
            FAIL: testdata/script/mod_get_newcycle.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_import (0.20s)
        script_test.go:193:
            # latest rsc.io/quote should be v1.5.2 not v1.5.3-pre1 (0.065s)
            > go list
            [signal: interrupt]
            FAIL: testdata/script/mod_import.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_help (0.13s)
        script_test.go:193:
            # go help get shows usage for get (0.082s)
            > go help get
            [signal: interrupt]
            FAIL: testdata/script/mod_help.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_graph (0.10s)
        script_test.go:193:
            > env GO111MODULE=on
            > go mod graph
            [signal: interrupt]
            FAIL: testdata/script/mod_graph.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_gopkg_unstable (0.10s)
        script_test.go:193:
            > env GO111MODULE=on
            > cp go.mod.empty go.mod
            > go get -d gopkg.in/dummy.v2-unstable
            [signal: interrupt]
            FAIL: testdata/script/mod_gopkg_unstable.txt:4: test timed out while running command

    --- FAIL: TestScript/list_importmap (0.20s)
        script_test.go:193:
            # gccgo does not have standard packages. (0.000s)
            # fmt should have no rewritten imports.
            # The import from a/b should map c/d to a's vendor directory. (0.092s)
            > go list -f '{{.ImportPath}}: {{.ImportMap}}' fmt a/b
            [signal: interrupt]
            FAIL: testdata/script/list_importmap.txt:8: test timed out while running command

    --- FAIL: TestScript/mod_gonoproxy (0.12s)
        script_test.go:193:
            # disagree with sumdb fails (0.065s)
            > cp go.mod.orig go.mod
            > env GOSUMDB=$sumdb' '$proxy/sumdb-wrong
            > ! go get rsc.io/quote
            [signal: interrupt]
            FAIL: testdata/script/mod_gonoproxy.txt:10: test timed out while running command

    --- FAIL: TestScript/list_find (0.15s)
        script_test.go:193:
            # go list -find should not report imports (0.080s)
            > go list -f {{.Incomplete}} x/y/z...  # should probably exit non-zero but never has
            [signal: interrupt]
            FAIL: testdata/script/list_find.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_gofmt_invalid (0.10s)
        script_test.go:193:
            # Test for a crash in go fmt on invalid input when using modules.
            # Issue 26792. (0.050s)
            > env GO111MODULE=on
            > ! go fmt x.go
            [signal: interrupt]
            FAIL: testdata/script/mod_gofmt_invalid.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_get_latest_pseudo (0.15s)
        script_test.go:193:
            # Check that we can build a module with no tagged versions by querying
            # "@latest" through a proxy.
            # Verifies golang.org/issue/32636 (0.089s)
            > env GO111MODULE=on
            > go mod init m
            [signal: interrupt]
            FAIL: testdata/script/mod_get_latest_pseudo.txt:7: test timed out while running command

    --- FAIL: TestScript/list_compiled_imports (0.12s)
        script_test.go:193:
            # go list should report import "C" (0.058s)
            > cd x
            $WORK/gopath/src/x
            > go list -f '{{.Imports}}'
            [signal: interrupt]
            FAIL: testdata/script/list_compiled_imports.txt:7: test timed out while running command

    --- FAIL: TestScript/list_constraints (0.20s)
        script_test.go:193:
            # Check that files and their imports are not included in 'go list' output
            # when they are excluded by build constraints.
            # Linux and cgo files should be included when building in that configuration. (0.055s)
            > env GOOS=linux
            > env GOARCH=amd64
            > env CGO_ENABLED=1
            > go list -f '{{range .GoFiles}}{{.}} {{end}}'
            [signal: interrupt]
            FAIL: testdata/script/list_constraints.txt:8: test timed out while running command

    --- FAIL: TestScript/mod_go_version_mixed (0.14s)
        script_test.go:193:
            # Test that dependencies can use Go language features newer than the
            # Go version specified by the main module. (0.050s)
            > env GO111MODULE=on
            > go build
            [signal: interrupt]
            FAIL: testdata/script/mod_go_version_mixed.txt:6: test timed out while running command

    --- FAIL: TestScript/mod_get_incompatible (0.11s)
        script_test.go:193:
            > env GO111MODULE=on
            > go list x
            [signal: interrupt]
            FAIL: testdata/script/mod_get_incompatible.txt:3: test timed out while running command

    --- FAIL: TestScript/mod_go_version (0.25s)
        script_test.go:193:
            # Test support for declaring needed Go version in module. (0.055s)
            > env GO111MODULE=on
            > go list
            [signal: interrupt]
            FAIL: testdata/script/mod_go_version.txt:5: test timed out while running command

    --- FAIL: TestScript/list_ambiguous_path (0.16s)
        script_test.go:193:
            # Ensures that we can correctly list package patterns ending in '.go'.
            # See golang.org/issue/34653.
            # A single pattern for a package ending in '.go'. (0.057s)
            > go list ./foo.go
            [signal: interrupt]
            FAIL: testdata/script/list_ambiguous_path.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_getmode_vendor (0.15s)
        script_test.go:193:
            > env GO111MODULE=on
            > go get -d rsc.io/quote@v1.5.1
            [signal: interrupt]
            FAIL: testdata/script/mod_getmode_vendor.txt:3: test timed out while running command

    --- FAIL: TestScript/linkname (0.12s)
        script_test.go:193:
            # check for linker name in error message about linker crash (0.045s)
            > [!gc] skip
            > ! go build -ldflags=-crash_for_testing x.go
            [signal: interrupt]
            FAIL: testdata/script/linkname.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_get_upgrade_pseudo (0.09s)
        script_test.go:193:
            # For this test module there are three versions:
            #   * v0.1.1-0.20190429073117-b5426c86b553
            #   * v0.1.0
            #   * v0.0.0-20190430073000-30950c05d534
            # Only v0.1.0 is tagged.
            #
            # The v0.1.1 pseudo-version is semantically higher than the latest tag.
            # The v0.0.0 pseudo-version is chronologically newer.
            # Start at v0.1.1-0.20190429073117-b5426c86b553 (0.042s)
            > go get -d example.com/pseudoupgrade@b5426c8
            [signal: interrupt]
            FAIL: testdata/script/mod_get_upgrade_pseudo.txt:13: test timed out while running command

    --- FAIL: TestScript/mod_get_upgrade (0.19s)
        script_test.go:193:
            > env GO111MODULE=on
            > go get rsc.io/quote@v1.5.1
            [signal: interrupt]
            FAIL: testdata/script/mod_get_upgrade.txt:3: test timed out while running command

    --- FAIL: TestScript/install_rebuild_removed (0.18s)
        script_test.go:193:
            # go command should detect package staleness as source file set changes (0.056s)
            > go install mypkg
            [signal: interrupt]
            FAIL: testdata/script/install_rebuild_removed.txt:4: test timed out while running command

    --- FAIL: TestScript/mod_get_trailing_slash (0.08s)
        script_test.go:193:
            # go list should succeed to load a package ending with ".go" if the path does
            # not correspond to an existing local file. Listing a pattern ending with
            # ".go/" should try to list a package regardless of whether a file exists at the
            # path without the suffixed "/" or not. (0.047s)
            > go list example.com/dotgo.go
            [signal: interrupt]
            FAIL: testdata/script/mod_get_trailing_slash.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_get_test (0.15s)
        script_test.go:193:
            # By default, 'go get' should ignore tests (0.083s)
            > cp go.mod.empty go.mod
            > go get m/a
            [signal: interrupt]
            FAIL: testdata/script/mod_get_test.txt:5: test timed out while running command

    --- FAIL: TestScript/install_rebuild_gopath (0.15s)
        script_test.go:193:
            # GOPATH with p1 in d1, p2 in d2 (0.001s)
            # build & install p1 (0.079s)
            > go install -i p1
            [signal: interrupt]
            FAIL: testdata/script/install_rebuild_gopath.txt:7: test timed out while running command

    --- FAIL: TestScript/mod_fs_patterns (0.24s)
        script_test.go:193:
            # File system pattern searches should skip sub-modules and vendor directories. (0.000s)
            # all packages (0.045s)
            > go list all
            [signal: interrupt]
            FAIL: testdata/script/mod_fs_patterns.txt:7: test timed out while running command

    --- FAIL: TestScript/install_cross_gobin (0.17s)
        script_test.go:193:
            > env GO111MODULE=off
            > [!short] skip # rebuilds std for alternate architecture
            > cd mycmd
            $WORK/gopath/src/mycmd
            > go build mycmd
            [signal: interrupt]
            FAIL: testdata/script/install_cross_gobin.txt:5: test timed out while running command

    --- FAIL: TestScript/install_cmd_gobin (0.09s)
        script_test.go:193:
            # Check that commands in cmd are install to $GOROOT/bin, not $GOBIN.
            # Verifies golang.org/issue/32674. (0.057s)
            > env GOBIN=gobin
            > mkdir gobin
            > go list -f '{{.Target}}' cmd/go
            [signal: interrupt]
            FAIL: testdata/script/install_cmd_gobin.txt:5: test timed out while running command

    --- FAIL: TestScript/mod_find (0.26s)
        script_test.go:193:
            # Derive module path from import comment. (0.102s)
            > cd $WORK/x
            $WORK/x
            > exists x.go
            > go mod init
            [signal: interrupt]
            FAIL: testdata/script/mod_find.txt:6: test timed out while running command

    --- FAIL: TestScript/link_syso_issue33139 (1.24s)
        script_test.go:193:
            # Test that we can use the external linker with a host syso file that is
            # embedded in a package, that is referenced by a Go assembly function.
            # See issue 33139. (0.013s)
            # External linking is not supported on linux/ppc64.
            # See: https://github.com/golang/go/issues/8912 (0.000s)
            # External linking is not supported on darwin/386 (10.14+).
            # See: https://github.com/golang/go/issues/31751 (1.156s)
            > [darwin] [386] skip
            > cc -c -o syso/objTestImpl.syso syso/src/objTestImpl.c
            [signal: interrupt]
            FAIL: testdata/script/link_syso_issue33139.txt:15: test timed out while running command

FAIL
2019/12/06 02:08:18 unexpected files left in tmpdir: [go-build384712043]
FAIL    cmd/go  590.097s
ok      cmd/go/internal/auth    0.276s
ok      cmd/go/internal/cache   11.692s
ok      cmd/go/internal/generate        0.173s
ok      cmd/go/internal/get     0.226s
ok      cmd/go/internal/imports 0.311s
ok      cmd/go/internal/load    0.118s
ok      cmd/go/internal/lockedfile      0.529s
ok      cmd/go/internal/lockedfile/internal/filelock    0.167s
ok      cmd/go/internal/modconv 0.315s
ok      cmd/go/internal/modfetch        0.207s
ok      cmd/go/internal/modfetch/codehost       0.126s
ok      cmd/go/internal/modfetch/zip_sum_test   0.155s
ok      cmd/go/internal/modload 0.162s
ok      cmd/go/internal/mvs     0.118s
ok      cmd/go/internal/par     0.197s
ok      cmd/go/internal/renameio        1.798s
ok      cmd/go/internal/search  0.112s
ok      cmd/go/internal/txtar   0.095s
ok      cmd/go/internal/web     0.144s
ok      cmd/go/internal/work    0.217s
ok      cmd/gofmt       1.286s
ok      cmd/internal/buildid    1.331s
ok      cmd/internal/dwarf      0.100s
ok      cmd/internal/edit       0.092s
ok      cmd/internal/goobj      23.160s
ok      cmd/internal/obj        0.121s
ok      cmd/internal/obj/arm64  0.290s
ok      cmd/internal/obj/x86    24.797s
ok      cmd/internal/objabi     0.093s
ok      cmd/internal/src        0.155s
ok      cmd/internal/test2json  1.245s
ok      cmd/link        100.693s
ok      cmd/link/internal/ld    43.960s
ok      cmd/link/internal/sym   0.094s
ok      cmd/nm  51.864s
ok      cmd/objdump     32.382s
ok      cmd/pack        21.124s
ok      cmd/trace       0.395s
ok      cmd/vet 117.092s
FAIL
go tool dist: Failed: exit status 1
<shigeru@pine64-01>: 
```

その場合は GO_TEST_TIMEOUT_SCALE を設定して調整します。

```
cd /tmp/golang/go/src
rm -fr ../bin ../pkg
GOROOT_BOOTSTRAP=/tmp/golang/go-freebsd-arm64-bootstrap GO_TEST_TIMEOUT_SCALE=10 bash all.bash
```

GO_TEST_TIMEOUT_SCALE=10 を設定するとアイムアウトによるエラーが減ります

```
<shigeru@pine64-01>: GOROOT_BOOTSTRAP=/tmp/golang/go-freebsd-arm64-bootstrap GO_TEST_TIMEOUT_SCALE=10 bash all.bash
Building Go cmd/dist using /tmp/golang/go-freebsd-arm64-bootstrap. (devel +cdf3db5df6 Thu Dec 5 04:58:28 2019 +0000 freebsd/arm64)
Building Go toolchain1 using /tmp/golang/go-freebsd-arm64-bootstrap.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for freebsd/arm64.

##### Testing packages.
ok      archive/tar     0.789s
ok      archive/zip     0.631s
ok      bufio   0.534s
ok      bytes   2.216s
ok      compress/bzip2  0.882s
ok      compress/flate  3.860s
ok      compress/gzip   0.287s
ok      compress/lzw    0.194s
ok      compress/zlib   0.313s
ok      container/heap  0.127s
ok      container/list  0.136s
ok      container/ring  0.162s
ok      context 1.863s
ok      crypto  0.152s
ok      crypto/aes      0.220s
ok      crypto/cipher   0.156s
ok      crypto/des      0.129s
ok      crypto/dsa      0.158s
ok      crypto/ecdsa    2.716s
ok      crypto/ed25519  1.078s
ok      crypto/elliptic 0.287s
ok      crypto/hmac     0.099s
ok      crypto/internal/subtle  0.094s
ok      crypto/md5      0.103s
ok      crypto/rand     0.216s
ok      crypto/rc4      0.419s
ok      crypto/rsa      0.664s
ok      crypto/sha1     0.123s
ok      crypto/sha256   0.093s
ok      crypto/sha512   0.104s
ok      crypto/subtle   0.137s
ok      crypto/tls      8.338s
ok      crypto/x509     4.391s
ok      database/sql    1.029s
ok      database/sql/driver     0.122s
ok      debug/dwarf     0.345s
ok      debug/elf       0.624s
ok      debug/gosym     0.137s
ok      debug/macho     0.154s
ok      debug/pe        0.246s
ok      debug/plan9obj  0.101s
ok      encoding/ascii85        0.106s
ok      encoding/asn1   0.138s
ok      encoding/base32 0.202s
ok      encoding/base64 0.118s
ok      encoding/binary 0.192s
ok      encoding/csv    0.109s
ok      encoding/gob    0.301s
ok      encoding/hex    0.118s
ok      encoding/json   0.666s
ok      encoding/pem    0.236s
ok      encoding/xml    0.235s
ok      errors  0.108s
ok      expvar  0.167s
ok      flag    0.151s
ok      fmt     0.874s
ok      go/ast  0.108s
ok      go/build        12.790s
ok      go/constant     0.100s
ok      go/doc  1.241s
ok      go/format       0.156s
ok      go/importer     4.317s
ok      go/internal/gccgoimporter       0.224s
ok      go/internal/gcimporter  2.786s
ok      go/internal/srcimporter 29.358s
ok      go/parser       0.392s
ok      go/printer      1.782s
ok      go/scanner      0.126s
ok      go/token        0.256s
ok      go/types        6.263s
ok      hash    0.103s
ok      hash/adler32    0.135s
ok      hash/crc32      0.113s
ok      hash/crc64      0.093s
ok      hash/fnv        0.101s
ok      hash/maphash    0.713s
ok      html    0.090s
ok      html/template   0.416s
ok      image   0.941s
ok      image/color     0.258s
ok      image/draw      0.477s
ok      image/gif       2.178s
ok      image/jpeg      1.794s
ok      image/png       0.610s
ok      index/suffixarray       3.278s
ok      internal/cpu    0.151s
ok      internal/fmtsort        0.123s
ok      internal/poll   0.211s
ok      internal/reflectlite    0.546s
ok      internal/singleflight   0.104s
ok      internal/trace  0.465s
ok      internal/xcoff  0.742s
ok      io      0.176s
ok      io/ioutil       0.185s
ok      log     0.115s
ok      log/syslog      1.493s
ok      math    0.150s
ok      math/big        11.940s
ok      math/bits       0.142s
ok      math/cmplx      0.145s
ok      math/rand       0.953s
ok      mime    0.125s
ok      mime/multipart  1.946s
ok      mime/quotedprintable    0.242s
ok      net     5.582s
ok      net/http        77.148s
ok      net/http/cgi    0.653s
ok      net/http/cookiejar      0.159s
ok      net/http/fcgi   0.124s
ok      net/http/httptest       0.311s
ok      net/http/httptrace      0.109s
ok      net/http/httputil       0.620s
ok      net/http/internal       0.105s
ok      net/http/pprof  2.255s
ok      net/internal/socktest   0.585s
ok      net/mail        0.148s
ok      net/rpc 0.254s
ok      net/rpc/jsonrpc 0.170s
ok      net/smtp        0.229s
ok      net/textproto   0.132s
ok      net/url 0.243s
ok      os      7.045s
ok      os/exec 3.886s
--- FAIL: TestTerminalSignal (50.03s)
    signal_cgo_test.go:145: "PS1='prompt> '\r\n"
    signal_cgo_test.go:128: "[shigeru@pine64-01 /tmp/golang/go/src/os/signal]$ PS1='prompt> '\a"
    signal_cgo_test.go:170: timed out waiting for shell prompt
FAIL
FAIL    os/signal       56.624s
ok      os/user 0.104s
ok      path    0.120s
ok      path/filepath   0.903s
ok      plugin  0.605s
ok      reflect 1.424s
ok      regexp  0.965s
ok      regexp/syntax   3.120s
ok      runtime 286.722s
ok      runtime/debug   0.542s
ok      runtime/internal/atomic 0.149s
ok      runtime/internal/math   0.095s
ok      runtime/internal/sys    0.121s
ok      runtime/pprof   63.479s
ok      runtime/pprof/internal/profile  0.111s
ok      runtime/trace   3.200s
ok      sort    0.510s
ok      strconv 5.008s
ok      strings 1.176s
ok      sync    1.273s
ok      sync/atomic     0.273s
ok      syscall 0.510s
ok      testing 0.721s
ok      testing/iotest  0.096s
ok      testing/quick   0.452s
ok      text/scanner    0.136s
ok      text/tabwriter  0.158s
ok      text/template   0.843s
ok      text/template/parse     0.130s
ok      time    3.411s
ok      unicode 0.127s
ok      unicode/utf16   0.096s
ok      unicode/utf8    0.124s
ok      cmd/addr2line   38.564s
ok      cmd/api 0.730s
ok      cmd/asm/internal/asm    6.116s
ok      cmd/asm/internal/lex    0.130s
ok      cmd/compile     0.233s
ok      cmd/compile/internal/gc 185.306s
ok      cmd/compile/internal/logopt     0.311s
ok      cmd/compile/internal/ssa        4.031s
ok      cmd/compile/internal/syntax     0.329s
ok      cmd/compile/internal/test       0.131s [no tests to run]
ok      cmd/compile/internal/types      0.154s
ok      cmd/cover       39.480s
ok      cmd/doc 3.347s
ok      cmd/fix 30.007s
ok      cmd/go  793.754s
ok      cmd/go/internal/auth    0.123s
ok      cmd/go/internal/cache   18.085s
ok      cmd/go/internal/generate        0.197s
ok      cmd/go/internal/get     0.681s
ok      cmd/go/internal/imports 0.246s
ok      cmd/go/internal/load    0.181s
ok      cmd/go/internal/lockedfile      0.435s
ok      cmd/go/internal/lockedfile/internal/filelock    0.145s
ok      cmd/go/internal/modconv 0.442s
ok      cmd/go/internal/modfetch        1.215s
ok      cmd/go/internal/modfetch/codehost       0.127s
ok      cmd/go/internal/modfetch/zip_sum_test   0.190s
ok      cmd/go/internal/modload 0.155s
ok      cmd/go/internal/mvs     0.119s
ok      cmd/go/internal/par     0.211s
ok      cmd/go/internal/renameio        0.551s
ok      cmd/go/internal/search  0.103s
ok      cmd/go/internal/txtar   0.104s
ok      cmd/go/internal/web     0.166s
ok      cmd/go/internal/work    0.191s
ok      cmd/gofmt       1.069s
ok      cmd/internal/buildid    1.367s
ok      cmd/internal/dwarf      0.143s
ok      cmd/internal/edit       0.087s
ok      cmd/internal/goobj      23.880s
ok      cmd/internal/obj        0.136s
ok      cmd/internal/obj/arm64  0.236s
ok      cmd/internal/obj/x86    28.890s
ok      cmd/internal/objabi     0.095s
ok      cmd/internal/src        0.119s
ok      cmd/internal/test2json  0.954s
ok      cmd/link        102.325s
ok      cmd/link/internal/ld    44.504s
ok      cmd/link/internal/sym   0.102s
ok      cmd/nm  46.235s
ok      cmd/objdump     30.561s
ok      cmd/pack        18.895s
ok      cmd/trace       0.417s
ok      cmd/vet 112.790s
FAIL
go tool dist: Failed: exit status 1
<shigeru@pine64-01>: 
```

os/signal だけが FAIL してます。
.profile や .bash_profile 、.bashrc などの設定が影響しているかと思ってファイルを消してデフォルト状態でやってみても結果が変わりません。

同じ状態の AWS の方だとエラーにならないのに実機だと起きていて、起きるのも私の環境だけなのかどうかもわかりません。

だれか原因を知っているようなら教えてください。