]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: use clean GOCACHE in TestNewReleaseRebuildsStalePackagesInGOPATH
authorMichael Matloob <matloob@golang.org>
Fri, 4 Nov 2022 20:42:52 +0000 (16:42 -0400)
committerMichael Matloob <matloob@golang.org>
Fri, 4 Nov 2022 21:29:32 +0000 (21:29 +0000)
Now that most GOROOT packages do not have install targets, their
staleness depends on whether their builds have been cached. That means
that, from a clean cache, once
TestNewReleaseRebuildsStalePackagesInGOPATH builds certain targets, they
will stay non-stale for the second run of the test, becasue the will
still be in the cache. So the first run of the test from a clean cache
will pass and the second will fail. Set GOCACHE to a temporary directory
in the test to use a clean cache and avoid this.

Change-Id: I91f954138a4723d81545134441148badbfc515f5
Reviewed-on: https://go-review.googlesource.com/c/go/+/448018
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Run-TryBot: Michael Matloob <matloob@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>

src/cmd/go/go_test.go

index f5f583fbeacfd9a331ea2747202cfe5a76bd7f18..4f451e614b707d2b91e1a51b262bb3b56a25eb9c 100644 (file)
@@ -894,6 +894,11 @@ func TestNewReleaseRebuildsStalePackagesInGOPATH(t *testing.T) {
        defer tg.cleanup()
        tg.parallel()
 
+       // Set GOCACHE to an empty directory so that a previous run of
+       // this test does not affect the staleness of the packages it builds.
+       tg.tempDir("gocache")
+       tg.setenv("GOCACHE", tg.path("gocache"))
+
        // Copy the runtime packages into a temporary GOROOT
        // so that we can change files.
        for _, copydir := range []string{