From 498d95493402f719ce3de5c8cb60d1b50d0a1239 Mon Sep 17 00:00:00 2001 From: Heschi Kreinick Date: Wed, 2 Jan 2019 14:39:27 -0500 Subject: [PATCH] go/packages/packagestest: make temp directory writeable In module mode, the temp dir will contain a mod cache, which needs to be made writeable before it can be deleted. Change-Id: Ia979a8b06d1b4db47d25ffdfdf925ba8a0ac67de Reviewed-on: https://go-review.googlesource.com/c/156078 Run-TryBot: Heschi Kreinick TryBot-Result: Gobot Gobot Reviewed-by: Ian Cottrell --- go/packages/packagestest/export.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/go/packages/packagestest/export.go b/go/packages/packagestest/export.go index 14a0ac15..ad38ebf1 100644 --- a/go/packages/packagestest/export.go +++ b/go/packages/packagestest/export.go @@ -277,6 +277,16 @@ func (e *Exported) Cleanup() { log.Printf("Skipping cleanup of temp dir: %s", e.temp) return } + // Make everything read-write so that the Module exporter's module cache can be deleted. + filepath.Walk(e.temp, func(path string, info os.FileInfo, err error) error { + if err != nil { + return nil + } + if info.IsDir() { + os.Chmod(path, 0777) + } + return nil + }) os.RemoveAll(e.temp) // ignore errors e.temp = "" }