blob: 7f0b515f2e55142988ccb707ab89222e9a88afd3 [file] [log] [blame]
# Regression test for https://go.dev/issue/47215 and https://go.dev/issue/50183:
# A missing $CC caused the C dependencies of the net
# package to appear stale, and it could not be rebuilt due to a missing $CC.
[!cgo] skip
# This test may start with the runtime/cgo package already stale.
# Explicitly rebuild it to ensure that it is cached.
# (See https://go.dev/issue/50892.)
#
# If running in non-short mode, explicitly vary CGO_CFLAGS
# as a control case (to ensure that our regexps do catch rebuilds).
[!short] env GOCACHE=$WORK/cache
[!short] env CGO_CFLAGS=-DTestScript_cgo_stale_precompiled=true
go build -x runtime/cgo
[!short] stderr '[/\\]cgo'$GOEXE'["]? .* -importpath runtime/cgo'
# https://go.dev/issue/47215: a missing $(go env CC) caused the precompiled net
# to be stale. But as of https://go.dev/cl/452457 the precompiled libraries are
# no longer installed anyway! Since we're requiring a C compiler in order to
# build and use cgo libraries in the standard library, we should make sure it
# matches what's in the cache.
[abscc] stop
env CGO_ENABLED=1
env CC=''
[!GOOS:plan9] env PATH='' # Guaranteed not to include $(go env CC)!
[GOOS:plan9] env path=''
! go build -x runtime/cgo
stderr 'C compiler .* not found'