Remove logic that exited even if the error was not an OsExiter
This was introduced in #496, but was discovered to be a regression in the behavior of the library.
This commit is contained in:
parent
8d8f927bcb
commit
9e5b04886c
@ -97,15 +97,6 @@ func HandleExitCoder(err error) {
|
|||||||
OsExiter(code)
|
OsExiter(code)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err.Error() != "" {
|
|
||||||
if _, ok := err.(ErrorFormatter); ok {
|
|
||||||
fmt.Fprintf(ErrWriter, "%+v\n", err)
|
|
||||||
} else {
|
|
||||||
fmt.Fprintln(ErrWriter, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
OsExiter(1)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleMultiError(multiErr MultiError) int {
|
func handleMultiError(multiErr MultiError) int {
|
||||||
|
@ -67,56 +67,6 @@ func TestHandleExitCoder_MultiErrorWithExitCoder(t *testing.T) {
|
|||||||
expect(t, called, true)
|
expect(t, called, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestHandleExitCoder_ErrorWithMessage(t *testing.T) {
|
|
||||||
exitCode := 0
|
|
||||||
called := false
|
|
||||||
|
|
||||||
OsExiter = func(rc int) {
|
|
||||||
if !called {
|
|
||||||
exitCode = rc
|
|
||||||
called = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ErrWriter = &bytes.Buffer{}
|
|
||||||
|
|
||||||
defer func() {
|
|
||||||
OsExiter = fakeOsExiter
|
|
||||||
ErrWriter = fakeErrWriter
|
|
||||||
}()
|
|
||||||
|
|
||||||
err := errors.New("gourd havens")
|
|
||||||
HandleExitCoder(err)
|
|
||||||
|
|
||||||
expect(t, exitCode, 1)
|
|
||||||
expect(t, called, true)
|
|
||||||
expect(t, ErrWriter.(*bytes.Buffer).String(), "gourd havens\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestHandleExitCoder_ErrorWithoutMessage(t *testing.T) {
|
|
||||||
exitCode := 0
|
|
||||||
called := false
|
|
||||||
|
|
||||||
OsExiter = func(rc int) {
|
|
||||||
if !called {
|
|
||||||
exitCode = rc
|
|
||||||
called = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ErrWriter = &bytes.Buffer{}
|
|
||||||
|
|
||||||
defer func() {
|
|
||||||
OsExiter = fakeOsExiter
|
|
||||||
ErrWriter = fakeErrWriter
|
|
||||||
}()
|
|
||||||
|
|
||||||
err := errors.New("")
|
|
||||||
HandleExitCoder(err)
|
|
||||||
|
|
||||||
expect(t, exitCode, 1)
|
|
||||||
expect(t, called, true)
|
|
||||||
expect(t, ErrWriter.(*bytes.Buffer).String(), "")
|
|
||||||
}
|
|
||||||
|
|
||||||
// make a stub to not import pkg/errors
|
// make a stub to not import pkg/errors
|
||||||
type ErrorWithFormat struct {
|
type ErrorWithFormat struct {
|
||||||
error
|
error
|
||||||
@ -145,7 +95,7 @@ func TestHandleExitCoder_ErrorWithFormat(t *testing.T) {
|
|||||||
ErrWriter = fakeErrWriter
|
ErrWriter = fakeErrWriter
|
||||||
}()
|
}()
|
||||||
|
|
||||||
err := NewErrorWithFormat("I am formatted")
|
err := NewExitError(NewErrorWithFormat("I am formatted"), 1)
|
||||||
HandleExitCoder(err)
|
HandleExitCoder(err)
|
||||||
|
|
||||||
expect(t, called, true)
|
expect(t, called, true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user