From 03a34e15a659ff0c2e0db9f8427bf60ba681f52d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Sun, 27 Jan 2019 22:55:07 +0000 Subject: [PATCH] use flag.ContinueOnError to fix test -coverprofile testscript requires zero os.Exit calls from main1. --- main.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index bdd1908..f5898e9 100644 --- a/main.go +++ b/main.go @@ -185,9 +185,16 @@ func main1() int { if cmd.Name() != cmdName { continue } - cmd.Fset.Init(cmdName, flag.ExitOnError) + cmd.Fset.Init(cmdName, flag.ContinueOnError) cmd.Fset.Usage = cmd.usage - cmd.Fset.Parse(args[1:]) + if err := cmd.Fset.Parse(args[1:]); err != nil { + if err != flag.ErrHelp { + fmt.Fprintf(os.Stderr, "flag: %v\n", err) + cmd.Fset.Usage() + } + return 2 + } + readConfig() if err := cmd.Run(cmd.Fset.Args()); err != nil { fmt.Fprintf(os.Stderr, "%s: %v\n", cmdName, err)