1
0
mirror of https://github.com/golang/go synced 2024-09-29 08:14:29 -06:00

cmd/go/internal/clean: make 'go clean -testcache' a no-op if the cache directory is gone

Fixes #29100

Change-Id: I195191aad825266ab55d38addef9d662cfc72dff
Reviewed-on: https://go-review.googlesource.com/c/go/+/212099
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
This commit is contained in:
Bryan C. Mills 2019-12-19 09:33:16 -05:00
parent 5481a97ab0
commit a197c7bbf2
2 changed files with 11 additions and 2 deletions

View File

@ -178,7 +178,9 @@ func runClean(cmd *base.Command, args []string) {
}
}
if err != nil {
base.Errorf("go clean -testcache: %v", err)
if _, statErr := os.Stat(dir); !os.IsNotExist(statErr) {
base.Errorf("go clean -testcache: %v", err)
}
}
}
}

View File

@ -9,6 +9,13 @@ go clean -testcache
go test x_test.go
! stdout 'cached'
# golang.org/issue/29100: 'go clean -testcache' should succeed
# if the cache directory doesn't exist at all.
# It should not write a testexpire.txt file, since there are no
# test results that need to be invalidated in the first place.
env GOCACHE=$WORK/nonexistent
go clean -testcache
! exists $WORK/nonexistent
-- x/x_test.go --
package x_test
@ -16,4 +23,4 @@ import (
"testing"
)
func TestMain(t *testing.T) {
}
}