import (
"bytes"
+ "go/format"
+ diffpkg "internal/diff"
"os"
"testing"
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))
}
}