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:"))
|
||||
})
|
||||
})
|
||||
|
||||
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 {
|
||||
showHelp(helpParser)
|
||||
} else if flagsErr, ok := err.(*flags.Error); ok && flagsErr.Type == flags.ErrHelp {
|
||||
showHelp(helpParser)
|
||||
fmt.Println(err)
|
||||
os.Exit(0)
|
||||
} else {
|
||||
fmt.Fprintf(ui.Stderr, "error: %s\n", err)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue