tree 1fd06392c4af7dd6d4900661e8b4988913d92609
parent 155e21cc7f37ade106171ac53fd6826869811001
author Andrew Gerrand <adg@golang.org> 1317927377 -0700
committer Andrew Gerrand <adg@golang.org> 1317927377 -0700
golang-hg e23057584c650ecc362dd7c40af80054a4c9f728

go/doc, godoc, gotest: support for reading example documentation

This CL introduces the go.Example type and go.Examples functions that
are used to represent and extract code samples from Go source.

They should be of the form:

// Output of this function.
func ExampleFoo() {
        fmt.Println("Output of this function.")
}

It also modifies godoc to read example code from _test.go files,
and include them in the HTML output with JavaScript-driven toggles.

It also implements testing of example functions with gotest.
The stdout/stderr is compared against the output comment on the
function.

This CL includes examples for the sort.Ints function and the
sort.SortInts type. After patching this CL in and re-building go/doc
and godoc, try
        godoc -http=localhost:6060
and visit http://localhost:6060/pkg/sort/

R=gri, r, rsc
CC=golang-dev
https://golang.org/cl/5137041
