From ba9e1ddccfe55e711ac3987f74109393dfb736af Mon Sep 17 00:00:00 2001 From: AN Long Date: Tue, 12 Aug 2025 14:06:53 +0000 Subject: testing: allow specify temp dir by GOTMPDIR environment variable Allow change the default temp directory returned by t.TempDir() by environment variable GOTMPDIR. Fixes #61585 Change-Id: Iba969bb02744e106cf15d80e0eda0245a55fc290 GitHub-Last-Rev: aeacea00952b11990b49a0fde6a0ce4fe910b777 GitHub-Pull-Request: golang/go#74844 Reviewed-on: https://go-review.googlesource.com/c/go/+/692455 Reviewed-by: Damien Neil Auto-Submit: Sean Liao Reviewed-by: Sean Liao LUCI-TryBot-Result: Go LUCI Reviewed-by: Cherry Mui --- src/testing/testing.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/testing/testing.go') diff --git a/src/testing/testing.go b/src/testing/testing.go index 3475bfca4a..2f0206b0a4 100644 --- a/src/testing/testing.go +++ b/src/testing/testing.go @@ -1318,6 +1318,8 @@ func (c *common) Cleanup(f func()) { // all its subtests complete. // Each subsequent call to TempDir returns a unique directory; // if the directory creation fails, TempDir terminates the test by calling Fatal. +// If the environment variable GOTMPDIR is set, the temporary directory will +// be created somewhere beneath it. func (c *common) TempDir() string { c.checkFuzzFn("TempDir") // Use a single parent directory for all the temporary directories @@ -1362,7 +1364,7 @@ func (c *common) TempDir() string { return -1 } pattern = strings.Map(mapper, pattern) - c.tempDir, c.tempDirErr = os.MkdirTemp("", pattern) + c.tempDir, c.tempDirErr = os.MkdirTemp(os.Getenv("GOTMPDIR"), pattern) if c.tempDirErr == nil { c.Cleanup(func() { if err := removeAll(c.tempDir); err != nil { -- cgit v1.3-5-g9baa