fserrors: fix a bug in Cause function

This commit is contained in:
Cenk Alti
2019-10-10 15:35:52 +03:00
committed by Nick Craig-Wood
parent ec09de1628
commit 58f280b8a2
2 changed files with 10 additions and 2 deletions

View File

@@ -62,6 +62,12 @@ type myError4 struct {
func (e *myError4) Error() string { return e.e.Error() }
type myError5 struct{}
func (e *myError5) Error() string { return "" }
func (e *myError5) Temporary() bool { return true }
type errorCause struct {
e error
}
@@ -73,6 +79,7 @@ func (e *errorCause) Cause() error { return e.e }
func TestCause(t *testing.T) {
e3 := &myError3{3}
e4 := &myError4{io.EOF}
e5 := &myError5{}
eNil1 := &myError2{nil}
eNil2 := &myError2{Err: (*myError2)(nil)}
errPotato := errors.New("potato")
@@ -97,6 +104,7 @@ func TestCause(t *testing.T) {
{&myError2{io.EOF}, false, io.EOF},
{e3, false, e3},
{e4, false, e4},
{e5, true, e5},
{&errorCause{errPotato}, false, errPotato},
{nilCause1, false, nilCause1},
{nilCause2, false, nilCause2.e},