]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/testdir: skip Test if GOROOT/test does not exist
authorBryan C. Mills <bcmills@google.com>
Fri, 16 Jun 2023 19:45:13 +0000 (15:45 -0400)
committerGopher Robot <gobot@golang.org>
Fri, 16 Jun 2023 20:45:36 +0000 (20:45 +0000)
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 <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>

src/cmd/internal/testdir/testdir_test.go

index 7ab1143584a9108d993684883e51223a5a1077e1..bd7785900c637a5a3926697b67c361fc6b14f035 100644 (file)
@@ -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}