Merge pull request #1403 from urfave/gfmrun-current
Run docs tests against current work tree
This commit is contained in:
commit
595cabc60c
@ -363,7 +363,7 @@ For example this:
|
|||||||
|
|
||||||
<!-- {
|
<!-- {
|
||||||
"args": ["--help"],
|
"args": ["--help"],
|
||||||
"output": "add a task to the list\n.*complete a task on the list\n.*\n\n.*\n.*Load configuration from FILE\n.*Language for the greeting.*"
|
"output": ".*Load configuration from FILE\n.*\n.*Language for the greeting.*"
|
||||||
} -->
|
} -->
|
||||||
``` go
|
``` go
|
||||||
package main
|
package main
|
||||||
|
@ -179,8 +179,43 @@ func testCleanup(packages []string) error {
|
|||||||
return os.WriteFile("coverage.txt", out.Bytes(), 0644)
|
return os.WriteFile("coverage.txt", out.Bytes(), 0644)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GfmrunActionFunc(c *cli.Context) error {
|
func GfmrunActionFunc(cCtx *cli.Context) error {
|
||||||
filename := c.Args().Get(0)
|
top := cCtx.Path("top")
|
||||||
|
|
||||||
|
bash, err := exec.LookPath("bash")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
os.Setenv("SHELL", bash)
|
||||||
|
|
||||||
|
tmpDir, err := os.MkdirTemp("", "urfave-cli*")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
wd, err := os.Getwd()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := os.Chdir(tmpDir); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Fprintf(cCtx.App.ErrWriter, "# ---> workspace/TMPDIR is %q\n", tmpDir)
|
||||||
|
|
||||||
|
if err := runCmd("go", "work", "init", top); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
os.Setenv("TMPDIR", tmpDir)
|
||||||
|
|
||||||
|
if err := os.Chdir(wd); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
filename := cCtx.Args().Get(0)
|
||||||
if filename == "" {
|
if filename == "" {
|
||||||
filename = "README.md"
|
filename = "README.md"
|
||||||
}
|
}
|
||||||
@ -209,7 +244,11 @@ func GfmrunActionFunc(c *cli.Context) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return runCmd("gfmrun", "-c", fmt.Sprint(counter), "-s", filename)
|
if err := runCmd("gfmrun", "-c", fmt.Sprint(counter), "-s", filename); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return os.RemoveAll(tmpDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
// checkBinarySizeActionFunc checks the size of an example binary to ensure that we are keeping size down
|
// checkBinarySizeActionFunc checks the size of an example binary to ensure that we are keeping size down
|
||||||
|
Loading…
Reference in New Issue
Block a user