From: Bryan C. Mills Date: Fri, 16 Jun 2023 19:45:13 +0000 (-0400) Subject: cmd/internal/testdir: skip Test if GOROOT/test does not exist X-Git-Tag: go1.21rc2~1^2~10 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=199fbd4b59;p=gostls13.git cmd/internal/testdir: skip Test if GOROOT/test does not exist cmd/distpack removes GOROOT/test from its distribution. For #24904. Change-Id: I6d1a8c608a1a1fe3fddfe0cd5279202ea9c2b3ce Reviewed-on: https://go-review.googlesource.com/c/go/+/504058 Run-TryBot: Bryan Mills Reviewed-by: Ian Lance Taylor Auto-Submit: Bryan Mills TryBot-Result: Gopher Robot --- diff --git a/src/cmd/internal/testdir/testdir_test.go b/src/cmd/internal/testdir/testdir_test.go index 7ab1143584..bd7785900c 100644 --- a/src/cmd/internal/testdir/testdir_test.go +++ b/src/cmd/internal/testdir/testdir_test.go @@ -117,6 +117,15 @@ func Test(t *testing.T) { runoutputGate: make(chan bool, *runoutputLimit), } + // cmd/distpack deletes GOROOT/test, so skip the test if it isn't present. + // cmd/distpack also requires GOROOT/VERSION to exist, so use that to + // suppress false-positive skips. + if _, err := os.Stat(common.gorootTestDir); os.IsNotExist(err) { + if _, err := os.Stat(filepath.Join(testenv.GOROOT(t), "VERSION")); err == nil { + t.Skipf("skipping: GOROOT/test not present") + } + } + for _, dir := range dirs { for _, goFile := range goFiles(t, dir) { test := test{testCommon: common, dir: dir, goFile: goFile}