From 0a49f706e172443d817cfb3d44e5b366da1cc72a Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 4 Feb 2022 11:55:33 -0500 Subject: [PATCH] cmd/go: run 'go help documentation' through gofmt in TestDocsUpToDate mkalldocs.sh runs gofmt on the output, but the test does not. If go help documentation and gofmt disagree, the test will fail. Fix that. Change-Id: I837374a2d36cb5d71278ecefe2a7b6544622c576 Reviewed-on: https://go-review.googlesource.com/c/go/+/384256 Trust: Russ Cox Run-TryBot: Russ Cox Reviewed-by: Bryan Mills TryBot-Result: Gopher Robot --- src/cmd/go/help_test.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/cmd/go/help_test.go b/src/cmd/go/help_test.go index abfc3db993..3e1d817ca5 100644 --- a/src/cmd/go/help_test.go +++ b/src/cmd/go/help_test.go @@ -6,6 +6,8 @@ package main_test import ( "bytes" + "go/format" + diffpkg "internal/diff" "os" "testing" @@ -23,11 +25,17 @@ func TestDocsUpToDate(t *testing.T) { buf := new(bytes.Buffer) // Match the command in mkalldocs.sh that generates alldocs.go. help.Help(buf, []string{"documentation"}) - data, err := os.ReadFile("alldocs.go") + internal := buf.Bytes() + internal, err := format.Source(internal) + if err != nil { + t.Fatalf("gofmt docs: %v", err) + } + alldocs, err := os.ReadFile("alldocs.go") if err != nil { t.Fatalf("error reading alldocs.go: %v", err) } - if !bytes.Equal(data, buf.Bytes()) { - t.Errorf("alldocs.go is not up to date; run mkalldocs.sh to regenerate it") + if !bytes.Equal(internal, alldocs) { + t.Errorf("alldocs.go is not up to date; run mkalldocs.sh to regenerate it\n%s", + diffpkg.Diff("go help documentation | gofmt", internal, "alldocs.go", alldocs)) } }