From 0183c1aa02dc2efd17d9693d960ca6f4266eee8a Mon Sep 17 00:00:00 2001 From: "Bryan C. Mills" Date: Fri, 16 Jun 2023 15:56:37 -0400 Subject: [PATCH] cmd/compile/internal/syntax: skip GOROOT/misc in TestStdLib if it doesn't exist cmd/distpack deletes GOROOT/misc from its distribution. For #24904. Change-Id: I47c60e9a6d39d015683dde7f44bf7c34517b6a8e Reviewed-on: https://go-review.googlesource.com/c/go/+/504059 TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Auto-Submit: Bryan Mills Run-TryBot: Bryan Mills --- src/cmd/compile/internal/syntax/parser_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/cmd/compile/internal/syntax/parser_test.go b/src/cmd/compile/internal/syntax/parser_test.go index 74583ca903..d5d4290f59 100644 --- a/src/cmd/compile/internal/syntax/parser_test.go +++ b/src/cmd/compile/internal/syntax/parser_test.go @@ -70,6 +70,18 @@ func TestStdLib(t *testing.T) { filepath.Join(goroot, "src"), filepath.Join(goroot, "misc"), } { + if filepath.Base(dir) == "misc" { + // cmd/distpack deletes GOROOT/misc, so skip that directory 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(dir); os.IsNotExist(err) { + if _, err := os.Stat(filepath.Join(testenv.GOROOT(t), "VERSION")); err == nil { + fmt.Printf("%s not present; skipping\n", dir) + continue + } + } + } + walkDirs(t, dir, func(filename string) { if skipRx != nil && skipRx.MatchString(filename) { // Always report skipped files since regexp -- 2.48.1