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 <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>
This commit is contained in:
Bryan C. Mills 2023-06-16 15:56:37 -04:00 committed by Gopher Robot
parent 199fbd4b59
commit 0183c1aa02
1 changed files with 12 additions and 0 deletions

View File

@ -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