blob: cedae03cf8247a1310e1dc5c66b315ac8723bf81 [file] [log] [blame]
[short] skip
# Set up fresh GOCACHE.
env GOCACHE=$WORK/gocache
mkdir $GOCACHE
# Building trivial non-main package should run preprofile the first time.
go build -x -pgo=default.pgo lib.go
stderr 'preprofile.*default\.pgo'
# ... but not again ...
go build -x -pgo=default.pgo lib.go
! stderr 'preprofile.*default\.pgo'
# ... unless we use -a.
go build -a -x -pgo=default.pgo lib.go
stderr 'preprofile.*default\.pgo'
# ... building a different package should not run preprofile again, instead
# using a profile from cache.
#
# Note we can't directly look for $GOCACHE in the regex below because the
# Windows slashes would need to be escaped. Instead just look for the "gocache"
# component (specified above) as an approximation.
go build -x -pgo=default.pgo lib2.go
! stderr 'preprofile.*default\.pgo'
stderr 'compile.*-pgoprofile=\S+gocache.*lib2.go'
-- lib.go --
package lib
-- lib2.go --
package lib2
-- default.pgo --