From: Bryan C. Mills Date: Fri, 16 Jun 2023 19:15:25 +0000 (-0400) Subject: go/internal/gcimporter: skip TestImportTypeparamTests if GOROOT/test is missing X-Git-Tag: go1.21rc2~1^2~12 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3891ecbd3551bb9dad706175fc447dcc5c43eacf;p=gostls13.git go/internal/gcimporter: skip TestImportTypeparamTests if GOROOT/test is missing cmd/distpack removes GOROOT/test, so skip the test if it isn't there. For #24904. Change-Id: Iac381517d0540056b2ccea0dc1bd716113b18468 Reviewed-on: https://go-review.googlesource.com/c/go/+/504117 TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Auto-Submit: Bryan Mills Run-TryBot: Bryan Mills --- diff --git a/src/go/internal/gcimporter/gcimporter_test.go b/src/go/internal/gcimporter/gcimporter_test.go index 9ab29f3b1c..25ff402277 100644 --- a/src/go/internal/gcimporter/gcimporter_test.go +++ b/src/go/internal/gcimporter/gcimporter_test.go @@ -137,6 +137,16 @@ func TestImportTypeparamTests(t *testing.T) { t.Skipf("gc-built packages not available (compiler = %s)", runtime.Compiler) } + // cmd/distpack removes the GOROOT/test directory, so skip if it isn't there. + // cmd/distpack also requires the presence of GOROOT/VERSION, so use that to + // avoid false-positive skips. + gorootTest := filepath.Join(testenv.GOROOT(t), "test") + if _, err := os.Stat(gorootTest); os.IsNotExist(err) { + if _, err := os.Stat(filepath.Join(testenv.GOROOT(t), "VERSION")); err == nil { + t.Skipf("skipping: GOROOT/test not present") + } + } + testenv.MustHaveGoBuild(t) tmpdir := mktmpdir(t) @@ -144,7 +154,7 @@ func TestImportTypeparamTests(t *testing.T) { // Check go files in test/typeparam, except those that fail for a known // reason. - rootDir := filepath.Join(testenv.GOROOT(t), "test", "typeparam") + rootDir := filepath.Join(gorootTest, "typeparam") list, err := os.ReadDir(rootDir) if err != nil { t.Fatal(err)