# Checks that an identical binary is built with -trimpath from the same # source files, with GOROOT in two different locations. # Verifies golang.org/issue/38989 [short] skip [!symlink] skip # Symlink the compiler to a local path env GOROOT=$WORK/goroot1 symlink $GOROOT -> $TESTGO_GOROOT # Set up fresh GOCACHE env GOCACHE=$WORK/gocache1 mkdir $GOCACHE # Build a simple binary go build -o binary1 -trimpath -x main.go # Now repeat the same process with the compiler at a different local path env GOROOT=$WORK/goroot2 symlink $GOROOT -> $TESTGO_GOROOT env GOCACHE=$WORK/gocache2 mkdir $GOCACHE go build -o binary2 -trimpath -x main.go # Check that the binaries match exactly go tool buildid binary1 cp stdout buildid1 go tool buildid binary2 cp stdout buildid2 cmp buildid1 buildid2 -- main.go -- package main func main() {}