Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
8 views1 page

Mod Build Trimpath Issue48557

The document outlines a regression test for issue #48557, focusing on the behavior of binary builds in module mode with the -trimpath flag. It emphasizes that the build ID and other binary contents should not depend on the working directory and verifies that the compiler is not invoked on subsequent builds in different directories. The test includes steps to build a binary, check for expected compiler flags, and compare build IDs and versions across builds.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views1 page

Mod Build Trimpath Issue48557

The document outlines a regression test for issue #48557, focusing on the behavior of binary builds in module mode with the -trimpath flag. It emphasizes that the build ID and other binary contents should not depend on the working directory and verifies that the compiler is not invoked on subsequent builds in different directories. The test includes steps to build a binary, check for expected compiler flags, and compare build IDs and versions across builds.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 1

# Regression test for issue #48557.

# Since builds in module mode do not support relative imports at all, the build
# ID for (and other contents of) a binary built with -trimpath in module mode
# should not depend on its working directory, even if the binary is specified as
# a list of relative source files.

[short] skip # links and runs binaries

env GOFLAGS=-trimpath
env GOCACHE=$WORK/gocache

# When we build a binary in module mode with -trimpath, the -D flag (for the
# "local import prefix") should not be passed to it.

cd $WORK/tmp/foo
go build -x -o a.exe main.go
stderr ${/}compile$GOEXE.*' -nolocalimports'
! stderr ${/}compile$GOEXE.*' -D[ =]'

go tool buildid a.exe


cp stdout ../foo-buildid.txt
go version a.exe
cp stdout ../foo-version.txt
cd ..

# On the second build — in a different directory but with -trimpath — the


# compiler should not be invoked, since the cache key should be identical.
# Only the linker and buildid tool should be needed.

mkdir bar
cp foo/main.go bar/main.go
cd bar
go build -x -o a.exe main.go
! stderr ${/}compile$GOEXE

go tool buildid a.exe


cp stdout ../bar-buildid.txt
go version a.exe
cp stdout ../bar-version.txt
cd ..

cmp bar-buildid.txt foo-buildid.txt


cmp bar-version.txt foo-version.txt
cmp bar/a.exe foo/a.exe

-- $WORK/tmp/foo/main.go --
package main

func main() {}

You might also like