fly: print help for subcommands
still print it on stdout and still return 0 status code. concourse/concourse#4134 Signed-off-by: Jamie Klassen <cklassen@pivotal.io>
This commit is contained in:
parent
48b9eacc57
commit
6437f2a7e1
|
@ -43,4 +43,17 @@ var _ = Describe("Fly CLI", func() {
|
||||||
Expect(sess.Out).To(gbytes.Say("Available commands:"))
|
Expect(sess.Out).To(gbytes.Say("Available commands:"))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Context("when invoking a subcommand with -h flag", func() {
|
||||||
|
It("prints help for the given subcommand", func() {
|
||||||
|
flyCmd := exec.Command(flyPath, "completion", "-h")
|
||||||
|
|
||||||
|
sess, err := gexec.Start(flyCmd, GinkgoWriter, GinkgoWriter)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
|
<-sess.Exited
|
||||||
|
Expect(sess.ExitCode()).To(Equal(0))
|
||||||
|
Expect(sess.Out).To(gbytes.Say("completion command options"))
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -68,7 +68,8 @@ func handleError(helpParser *flags.Parser, err error) {
|
||||||
} else if flagsErr, ok := err.(*flags.Error); ok && flagsErr.Type == flags.ErrCommandRequired {
|
} else if flagsErr, ok := err.(*flags.Error); ok && flagsErr.Type == flags.ErrCommandRequired {
|
||||||
showHelp(helpParser)
|
showHelp(helpParser)
|
||||||
} else if flagsErr, ok := err.(*flags.Error); ok && flagsErr.Type == flags.ErrHelp {
|
} else if flagsErr, ok := err.(*flags.Error); ok && flagsErr.Type == flags.ErrHelp {
|
||||||
showHelp(helpParser)
|
fmt.Println(err)
|
||||||
|
os.Exit(0)
|
||||||
} else {
|
} else {
|
||||||
fmt.Fprintf(ui.Stderr, "error: %s\n", err)
|
fmt.Fprintf(ui.Stderr, "error: %s\n", err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue