]> Cypherpunks repositories - gostls13.git/commitdiff
go/internal/gcimporter: skip TestImportTypeparamTests if GOROOT/test is missing
authorBryan C. Mills <bcmills@google.com>
Fri, 16 Jun 2023 19:15:25 +0000 (15:15 -0400)
committerGopher Robot <gobot@golang.org>
Fri, 16 Jun 2023 20:38:49 +0000 (20:38 +0000)
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 <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>

src/go/internal/gcimporter/gcimporter_test.go

index 9ab29f3b1cb6d4ad24c78a0f506d4be2d3d8c769..25ff402277643417dbbe52b157129f440d09e8cf 100644 (file)
@@ -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)