blob: 0d30aeaa9d41df08764303e99cc56b9c1e4df231 [file] [log] [blame]
# golang.org/issue/46347: a stale runtime/cgo should only force a single rebuild
[!cgo] skip
[short] skip
# If we set a unique CGO_CFLAGS, the installed copy of runtime/cgo
# should be reported as stale.
env CGO_CFLAGS=-DTestScript_cgo_stale=true
stale runtime/cgo
# If we then build a package that uses cgo, runtime/cgo should be rebuilt and
# cached with the new flag, but not installed to GOROOT.
# It has no install target, and thus is never stale.
env GOCACHE=$WORK/cache # Use a fresh cache to avoid interference between runs.
go build -x .
stderr '[/\\]cgo'$GOEXE'["]? .* -importpath runtime/cgo'
! stale runtime/cgo
# After runtime/cgo has been rebuilt and cached, it should not be rebuilt again.
go build -x .
! stderr '[/\\]cgo'$GOEXE'["]? .* -importpath runtime/cgo'
! stale runtime/cgo
-- go.mod --
module example.com/m
go 1.17
-- m.go --
package m
import "C"