Merge pull request #651 from cpuguy83/fix_causal_lookup
Fix bad recursion in errdefs check
This commit is contained in:
@@ -58,7 +58,7 @@ func IsInvalidInput(err error) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if e, ok := err.(causal); ok {
|
if e, ok := err.(causal); ok {
|
||||||
return IsInvalidInput(e)
|
return IsInvalidInput(e.Cause())
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package errdefs
|
package errdefs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/pkg/errors"
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
"gotest.tools/assert/cmp"
|
"gotest.tools/assert/cmp"
|
||||||
)
|
)
|
||||||
@@ -76,5 +76,7 @@ func TestIsInvalidInput(t *testing.T) {
|
|||||||
|
|
||||||
func TestInvalidInputCause(t *testing.T) {
|
func TestInvalidInputCause(t *testing.T) {
|
||||||
err := errors.New("test")
|
err := errors.New("test")
|
||||||
assert.Equal(t, (&invalidInputError{err}).Cause(), err)
|
e := &invalidInputError{err}
|
||||||
|
assert.Check(t, cmp.Equal(e.Cause(), err))
|
||||||
|
assert.Check(t, IsInvalidInput(errors.Wrap(e, "some details")))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ func IsNotFound(err error) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if e, ok := err.(causal); ok {
|
if e, ok := err.(causal); ok {
|
||||||
return IsNotFound(e)
|
return IsNotFound(e.Cause())
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package errdefs
|
package errdefs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/pkg/errors"
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
"gotest.tools/assert/cmp"
|
"gotest.tools/assert/cmp"
|
||||||
)
|
)
|
||||||
@@ -76,5 +76,7 @@ func TestIsNotFound(t *testing.T) {
|
|||||||
|
|
||||||
func TestNotFoundCause(t *testing.T) {
|
func TestNotFoundCause(t *testing.T) {
|
||||||
err := errors.New("test")
|
err := errors.New("test")
|
||||||
assert.Equal(t, (¬FoundError{err}).Cause(), err)
|
e := ¬FoundError{err}
|
||||||
|
assert.Check(t, cmp.Equal(e.Cause(), err))
|
||||||
|
assert.Check(t, IsNotFound(errors.Wrap(e, "some details")))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user