[silence-errors]: -m adds a way for errors to silenced down the stack
This commit is contained in:
@ -217,6 +217,12 @@ func fullSetupTest(input string) resulter {
|
||||
return fullTester(c, input)
|
||||
}
|
||||
|
||||
func noRRSetupTestSilenced(input string) resulter {
|
||||
c := initialize()
|
||||
c.SilenceErrors = true
|
||||
return fullTester(c, input)
|
||||
}
|
||||
|
||||
func noRRSetupTest(input string) resulter {
|
||||
c := initialize()
|
||||
|
||||
@ -488,8 +494,8 @@ func TestChildCommandFlags(t *testing.T) {
|
||||
t.Errorf("invalid flag should generate error")
|
||||
}
|
||||
|
||||
if !strings.Contains(r.Output, "unknown shorthand") {
|
||||
t.Errorf("Wrong error message displayed, \n %s", r.Output)
|
||||
if !strings.Contains(r.Error.Error(), "unknown shorthand") {
|
||||
t.Errorf("Wrong error message displayed, \n %s", r.Error)
|
||||
}
|
||||
|
||||
if flagi2 != 99 {
|
||||
@ -506,9 +512,8 @@ func TestChildCommandFlags(t *testing.T) {
|
||||
if r.Error == nil {
|
||||
t.Errorf("invalid flag should generate error")
|
||||
}
|
||||
|
||||
if !strings.Contains(r.Output, "unknown shorthand flag") {
|
||||
t.Errorf("Wrong error message displayed, \n %s", r.Output)
|
||||
if !strings.Contains(r.Error.Error(), "unknown shorthand flag") {
|
||||
t.Errorf("Wrong error message displayed, \n %s", r.Error)
|
||||
}
|
||||
|
||||
// Testing with persistent flag overwritten by child
|
||||
@ -528,9 +533,8 @@ func TestChildCommandFlags(t *testing.T) {
|
||||
if r.Error == nil {
|
||||
t.Errorf("invalid input should generate error")
|
||||
}
|
||||
|
||||
if !strings.Contains(r.Output, "invalid argument \"10E\" for i10E") {
|
||||
t.Errorf("Wrong error message displayed, \n %s", r.Output)
|
||||
if !strings.Contains(r.Error.Error(), "invalid argument \"10E\" for i10E") {
|
||||
t.Errorf("Wrong error message displayed, \n %s", r.Error)
|
||||
}
|
||||
}
|
||||
|
||||
@ -547,10 +551,10 @@ func TestInvalidSubcommandFlags(t *testing.T) {
|
||||
cmd.AddCommand(cmdTimes)
|
||||
|
||||
result := simpleTester(cmd, "times --inttwo=2 --badflag=bar")
|
||||
|
||||
checkResultContains(t, result, "unknown flag: --badflag")
|
||||
|
||||
if strings.Contains(result.Output, "unknown flag: --inttwo") {
|
||||
// given that we are not checking here result.Error we check for
|
||||
// stock usage message
|
||||
checkResultContains(t, result, "cobra-test times [# times]")
|
||||
if strings.Contains(result.Error.Error(), "unknown flag: --inttwo") {
|
||||
t.Errorf("invalid --badflag flag shouldn't fail on 'unknown' --inttwo flag")
|
||||
}
|
||||
|
||||
@ -809,6 +813,20 @@ func TestRootUnknownCommand(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRootUnknownCommandSilenced(t *testing.T) {
|
||||
r := noRRSetupTestSilenced("bogus")
|
||||
s := "Run 'cobra-test --help' for usage.\n"
|
||||
|
||||
if r.Output != "" {
|
||||
t.Errorf("Unexpected response.\nExpecting to be: \n\"\"\n Got:\n %q\n", s, r.Output)
|
||||
}
|
||||
|
||||
r = noRRSetupTestSilenced("--strtwo=a bogus")
|
||||
if r.Output != "" {
|
||||
t.Errorf("Unexpected response.\nExpecting to be:\n\"\"\nGot:\n %q\n", s, r.Output)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRootSuggestions(t *testing.T) {
|
||||
outputWithSuggestions := "Error: unknown command \"%s\" for \"cobra-test\"\n\nDid you mean this?\n\t%s\n\nRun 'cobra-test --help' for usage.\n"
|
||||
outputWithoutSuggestions := "Error: unknown command \"%s\" for \"cobra-test\"\nRun 'cobra-test --help' for usage.\n"
|
||||
@ -872,8 +890,8 @@ func TestFlagsBeforeCommand(t *testing.T) {
|
||||
|
||||
// With parsing error properly reported
|
||||
x = fullSetupTest("-i10E echo")
|
||||
if !strings.Contains(x.Output, "invalid argument \"10E\" for i10E") {
|
||||
t.Errorf("Wrong error message displayed, \n %s", x.Output)
|
||||
if !strings.Contains(x.Error.Error(), "invalid argument \"10E\" for i10E") {
|
||||
t.Errorf("Wrong error message displayed, \n %s", x.Error)
|
||||
}
|
||||
|
||||
//With quotes
|
||||
|
Reference in New Issue
Block a user