gotest: don't run examples that have no expected output

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5364041
This commit is contained in:
Andrew Gerrand 2011-11-08 10:11:07 +11:00
parent 46ee09eff1
commit 2fcb045242
2 changed files with 8 additions and 2 deletions

View file

@ -37,6 +37,7 @@ os.Stdout and os.Stderr is compared against their doc comment.
Multiple example functions may be provided for a given name XXX if they are
discriminated by a distinct suffix starting with "_", such as ExampleXXX_2.
Example functions without doc comments are compiled but not executed.
See the documentation of the testing package for more information.

View file

@ -231,9 +231,14 @@ func getTestNames() {
} else if isTest(name, "Benchmark") {
f.benchmarks = append(f.benchmarks, name)
} else if isTest(name, "Example") {
output := doc.CommentText(n.Doc)
if output == "" {
// Don't run examples with no output.
continue
}
f.examples = append(f.examples, example{
name: name,
output: doc.CommentText(n.Doc),
output: output,
})
}
// TODO: worth checking the signature? Probably not.
@ -372,7 +377,7 @@ func writeTestmainGo() {
insideTests := false
for _, f := range files {
//println(f.name, f.pkg)
if len(f.tests) == 0 && len(f.benchmarks) == 0 {
if len(f.tests) == 0 && len(f.benchmarks) == 0 && len(f.examples) == 0 {
continue
}
if isOutsideTest(f.pkg) {