summaryrefslogtreecommitdiffstats
path: root/src/cmd/go/testdata/script/cgo_stale.txt
blob: 9e46855eadb1e687458cbb035705a76324185a86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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 (and thus still 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
# even though it is still reported as stale.

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"