diff --git a/Documentation/usage/dlv.md b/Documentation/usage/dlv.md index c9b0f424..d431e1b3 100644 --- a/Documentation/usage/dlv.md +++ b/Documentation/usage/dlv.md @@ -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 version](dlv_version.md) - Prints version. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_attach.md b/Documentation/usage/dlv_attach.md index cebfeb36..cfaab55f 100644 --- a/Documentation/usage/dlv_attach.md +++ b/Documentation/usage/dlv_attach.md @@ -42,4 +42,3 @@ dlv attach pid [executable] ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_connect.md b/Documentation/usage/dlv_connect.md index ebcc2106..edee2c66 100644 --- a/Documentation/usage/dlv_connect.md +++ b/Documentation/usage/dlv_connect.md @@ -37,4 +37,3 @@ dlv connect addr ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_core.md b/Documentation/usage/dlv_core.md index 3a6b1ff2..2b671ad6 100644 --- a/Documentation/usage/dlv_core.md +++ b/Documentation/usage/dlv_core.md @@ -41,4 +41,3 @@ dlv core ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_debug.md b/Documentation/usage/dlv_debug.md index f9b886b0..da22c461 100644 --- a/Documentation/usage/dlv_debug.md +++ b/Documentation/usage/dlv_debug.md @@ -48,4 +48,3 @@ dlv debug [package] ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_exec.md b/Documentation/usage/dlv_exec.md index 427d9ba3..cc0c6efe 100644 --- a/Documentation/usage/dlv_exec.md +++ b/Documentation/usage/dlv_exec.md @@ -42,4 +42,3 @@ dlv exec ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_replay.md b/Documentation/usage/dlv_replay.md index 0658a5d0..a3fe5a18 100644 --- a/Documentation/usage/dlv_replay.md +++ b/Documentation/usage/dlv_replay.md @@ -41,4 +41,3 @@ dlv replay [trace directory] ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_run.md b/Documentation/usage/dlv_run.md index 6ac1d57f..4abfff82 100644 --- a/Documentation/usage/dlv_run.md +++ b/Documentation/usage/dlv_run.md @@ -37,4 +37,3 @@ dlv run ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_test.md b/Documentation/usage/dlv_test.md index ce67839a..7e8ff0e4 100644 --- a/Documentation/usage/dlv_test.md +++ b/Documentation/usage/dlv_test.md @@ -48,4 +48,3 @@ dlv test [package] ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_trace.md b/Documentation/usage/dlv_trace.md index 7e17d277..5ab493e5 100644 --- a/Documentation/usage/dlv_trace.md +++ b/Documentation/usage/dlv_trace.md @@ -50,4 +50,3 @@ dlv trace [package] regexp ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/Documentation/usage/dlv_version.md b/Documentation/usage/dlv_version.md index c90da7fa..b58fb65f 100644 --- a/Documentation/usage/dlv_version.md +++ b/Documentation/usage/dlv_version.md @@ -37,4 +37,3 @@ dlv version ### SEE ALSO * [dlv](dlv.md) - Delve is a debugger for the Go programming language. -###### Auto generated by spf13/cobra on 17-Apr-2018 diff --git a/cmd/dlv/cmds/commands.go b/cmd/dlv/cmds/commands.go index 5125d191..e44f5c30 100644 --- a/cmd/dlv/cmds/commands.go +++ b/cmd/dlv/cmds/commands.go @@ -270,6 +270,8 @@ https://github.com/mozilla/rr RootCommand.AddCommand(replayCommand) } + RootCommand.DisableAutoGenTag = true + return RootCommand } diff --git a/cmd/dlv/dlv_test.go b/cmd/dlv/dlv_test.go index 659042e7..31327b44 100644 --- a/cmd/dlv/dlv_test.go +++ b/cmd/dlv/dlv_test.go @@ -1,4 +1,4 @@ -package main +package main_test import ( "bufio" @@ -14,8 +14,11 @@ import ( "testing" "time" + "github.com/derekparker/delve/cmd/dlv/cmds" protest "github.com/derekparker/delve/pkg/proc/test" + "github.com/derekparker/delve/pkg/terminal" "github.com/derekparker/delve/service/rpc2" + "github.com/spf13/cobra/doc" ) 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())) + } +}