Documentation: automatically check that documentation is up to date
Since we always forget to update the documentation lets check this automatically.
This commit is contained in:
parent
38ddb22b68
commit
f27c91ba3c
@ -51,4 +51,3 @@ Pass flags to the program you are debugging using `--`, for example:
|
|||||||
* [dlv trace](dlv_trace.md) - Compile and begin tracing program.
|
* [dlv trace](dlv_trace.md) - Compile and begin tracing program.
|
||||||
* [dlv version](dlv_version.md) - Prints version.
|
* [dlv version](dlv_version.md) - Prints version.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -42,4 +42,3 @@ dlv attach pid [executable]
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -37,4 +37,3 @@ dlv connect addr
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -41,4 +41,3 @@ dlv core <executable> <core>
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -48,4 +48,3 @@ dlv debug [package]
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -42,4 +42,3 @@ dlv exec <path/to/binary>
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -41,4 +41,3 @@ dlv replay [trace directory]
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -37,4 +37,3 @@ dlv run
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -48,4 +48,3 @@ dlv test [package]
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -50,4 +50,3 @@ dlv trace [package] regexp
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -37,4 +37,3 @@ dlv version
|
|||||||
### SEE ALSO
|
### SEE ALSO
|
||||||
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
* [dlv](dlv.md) - Delve is a debugger for the Go programming language.
|
||||||
|
|
||||||
###### Auto generated by spf13/cobra on 17-Apr-2018
|
|
||||||
|
|||||||
@ -270,6 +270,8 @@ https://github.com/mozilla/rr
|
|||||||
RootCommand.AddCommand(replayCommand)
|
RootCommand.AddCommand(replayCommand)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RootCommand.DisableAutoGenTag = true
|
||||||
|
|
||||||
return RootCommand
|
return RootCommand
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package main
|
package main_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
@ -14,8 +14,11 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/derekparker/delve/cmd/dlv/cmds"
|
||||||
protest "github.com/derekparker/delve/pkg/proc/test"
|
protest "github.com/derekparker/delve/pkg/proc/test"
|
||||||
|
"github.com/derekparker/delve/pkg/terminal"
|
||||||
"github.com/derekparker/delve/service/rpc2"
|
"github.com/derekparker/delve/service/rpc2"
|
||||||
|
"github.com/spf13/cobra/doc"
|
||||||
)
|
)
|
||||||
|
|
||||||
var testBackend string
|
var testBackend string
|
||||||
@ -202,3 +205,48 @@ func TestOutput(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkAutogenDoc(t *testing.T, filename, gencommand string, generated []byte) {
|
||||||
|
saved := slurpFile(t, os.ExpandEnv(fmt.Sprintf("$GOPATH/src/github.com/derekparker/delve/%s", filename)))
|
||||||
|
|
||||||
|
if len(saved) != len(generated) {
|
||||||
|
t.Fatalf("%s: needs to be regenerated run scripts/gen-cli-docs.go", filename)
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := range saved {
|
||||||
|
if saved[i] != generated[i] {
|
||||||
|
t.Fatalf("%s: needs to be regenerated; run %s", filename, gencommand)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func slurpFile(t *testing.T, filename string) []byte {
|
||||||
|
saved, err := ioutil.ReadFile(filename)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Could not read %s: %v", filename, err)
|
||||||
|
}
|
||||||
|
return saved
|
||||||
|
}
|
||||||
|
|
||||||
|
// TestGeneratedDoc tests that the autogenerated documentation has been
|
||||||
|
// updated.
|
||||||
|
func TestGeneratedDoc(t *testing.T) {
|
||||||
|
// Checks gen-cli-docs.go
|
||||||
|
var generatedBuf bytes.Buffer
|
||||||
|
commands := terminal.DebugCommands(nil)
|
||||||
|
commands.WriteMarkdown(&generatedBuf)
|
||||||
|
cliDocFilename := "Documentation/cli/README.md"
|
||||||
|
checkAutogenDoc(t, cliDocFilename, "scripts/gen-cli-docs.go", generatedBuf.Bytes())
|
||||||
|
|
||||||
|
// Checks gen-usage-docs.go
|
||||||
|
tempDir, err := ioutil.TempDir(os.TempDir(), "test-gen-doc")
|
||||||
|
assertNoError(err, t, "TempDir")
|
||||||
|
defer cmds.SafeRemoveAll(tempDir)
|
||||||
|
doc.GenMarkdownTree(cmds.New(true), tempDir)
|
||||||
|
entries, err := ioutil.ReadDir(tempDir)
|
||||||
|
assertNoError(err, t, "ReadDir")
|
||||||
|
for _, doc := range entries {
|
||||||
|
docFilename := "Documentation/usage/" + doc.Name()
|
||||||
|
checkAutogenDoc(t, docFilename, "scripts/gen-usage-docs.go", slurpFile(t, tempDir+"/"+doc.Name()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user