Commit a197c7bb authored by Bryan C. Mills's avatar Bryan C. Mills

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: default avatarJay Conrod <jayconrod@google.com>
parent 5481a97a
...@@ -178,7 +178,9 @@ func runClean(cmd *base.Command, args []string) { ...@@ -178,7 +178,9 @@ func runClean(cmd *base.Command, args []string) {
} }
} }
if err != nil { 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)
}
} }
} }
} }
......
...@@ -9,6 +9,13 @@ go clean -testcache ...@@ -9,6 +9,13 @@ go clean -testcache
go test x_test.go go test x_test.go
! stdout 'cached' ! 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 -- -- x/x_test.go --
package x_test package x_test
...@@ -16,4 +23,4 @@ import ( ...@@ -16,4 +23,4 @@ import (
"testing" "testing"
) )
func TestMain(t *testing.T) { func TestMain(t *testing.T) {
} }
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment