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 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
|
||||
* [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
|
||||
* [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
|
||||
* [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
|
||||
* [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
|
||||
* [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
|
||||
* [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
|
||||
* [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
|
||||
* [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
|
||||
* [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
|
||||
* [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.DisableAutoGenTag = true
|
||||
|
||||
return RootCommand
|
||||
}
|
||||
|
||||
|
||||
@ -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()))
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user