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) {
}
}
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
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) {
}
\ 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