Most important: skip test on darwin/arm64 for unclear reasons.
First cut at the test missed this feature of go doc: when asking for
the docs for a type, include any function that looks like it constructs
a that type as a return value.
Change-Id: I124e7695e5d365e2b12524b541a9a4e6e0300fbc
Reviewed-on: https://go-review.googlesource.com/11295
Reviewed-by: Rob Pike <r@golang.org>
"os"
"os/exec"
"regexp"
+ "runtime"
"testing"
)
`Has unexported fields`,
`func \(ExportedType\) ExportedMethod\(a int\) bool`,
`const ExportedTypedConstant ExportedType = iota`, // Must include associated constant.
+ `func ExportedTypeConstructor\(\) \*ExportedType`, // Must include constructor.
},
[]string{
`unexportedField`, // No unexported field.
}
func TestDoc(t *testing.T) {
+ if runtime.GOOS == "darwin" && runtime.GOARCH == "arm64" {
+ t.Skip("TODO: on darwin/arm, test fails: no such package cmd/doc/testdata")
+ }
for _, test := range tests {
var b bytes.Buffer
var flagSet flag.FlagSet
ExportedTypedConstant ExportedType = iota
)
+// Comment about constructor for exported type.
+func ExportedTypeConstructor() *ExportedType {
+ return nil
+}
+
const unexportedTypedConstant ExportedType = 1 // In a separate section to test -u.
// Comment about unexported type.