diff --git a/parse.go b/parse.go index b6eae4e..219a947 100644 --- a/parse.go +++ b/parse.go @@ -26,7 +26,7 @@ type spec struct { var ErrHelp = errors.New("help requested by user") // MustParse processes command line arguments and exits upon failure -func MustParse(dest ...interface{}) { +func MustParse(dest ...interface{}) *Parser { p, err := NewParser(dest...) if err != nil { fmt.Println(err) @@ -40,6 +40,7 @@ func MustParse(dest ...interface{}) { if err != nil { p.Fail(err.Error()) } + return p } // Parse processes command line arguments and stores them in dest diff --git a/parse_test.go b/parse_test.go index eb6080c..7fca76a 100644 --- a/parse_test.go +++ b/parse_test.go @@ -353,6 +353,7 @@ func TestMustParse(t *testing.T) { Foo string } os.Args = []string{"example", "--foo", "bar"} - MustParse(&args) + parser := MustParse(&args) assert.Equal(t, "bar", args.Foo) + assert.NotNil(t, parser) }