Use standard library interface to unwrap errors

The `Cause()` function is not part of the standard library and should
not be used or relied on. `pkg/errors` already has compatibility with
the standard library.

Signed-off-by: Derek McGowan <derek@mcg.dev>
This commit is contained in:
Derek McGowan
2025-05-02 09:53:16 -07:00
parent a90a9d899b
commit 5c16f2d091
4 changed files with 37 additions and 31 deletions

View File

@@ -8,6 +8,10 @@ import (
var errTest = errors.New("this is a test")
type wrapped interface {
Unwrap() error
}
func TestNotFound(t *testing.T) {
if IsNotFound(errTest) {
t.Fatalf("did not expect not found error, got %T", errTest)
@@ -16,7 +20,7 @@ func TestNotFound(t *testing.T) {
if !IsNotFound(e) {
t.Fatalf("expected not found error, got: %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -37,7 +41,7 @@ func TestConflict(t *testing.T) {
if !IsConflict(e) {
t.Fatalf("expected conflict error, got: %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -58,7 +62,7 @@ func TestForbidden(t *testing.T) {
if !IsForbidden(e) {
t.Fatalf("expected forbidden error, got: %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -79,7 +83,7 @@ func TestInvalidParameter(t *testing.T) {
if !IsInvalidParameter(e) {
t.Fatalf("expected invalid argument error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -100,7 +104,7 @@ func TestNotImplemented(t *testing.T) {
if !IsNotImplemented(e) {
t.Fatalf("expected not implemented error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -121,7 +125,7 @@ func TestNotModified(t *testing.T) {
if !IsNotModified(e) {
t.Fatalf("expected not modified error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -142,7 +146,7 @@ func TestUnauthorized(t *testing.T) {
if !IsUnauthorized(e) {
t.Fatalf("expected unauthorized error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -163,7 +167,7 @@ func TestUnknown(t *testing.T) {
if !IsUnknown(e) {
t.Fatalf("expected unknown error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -184,7 +188,7 @@ func TestCancelled(t *testing.T) {
if !IsCancelled(e) {
t.Fatalf("expected cancelled error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -205,7 +209,7 @@ func TestDeadline(t *testing.T) {
if !IsDeadline(e) {
t.Fatalf("expected deadline error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -226,7 +230,7 @@ func TestDataLoss(t *testing.T) {
if !IsDataLoss(e) {
t.Fatalf("expected data loss error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -247,7 +251,7 @@ func TestUnavailable(t *testing.T) {
if !IsUnavailable(e) {
t.Fatalf("expected unavaillable error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {
@@ -268,7 +272,7 @@ func TestSystem(t *testing.T) {
if !IsSystem(e) {
t.Fatalf("expected system error, got %T", e)
}
if cause := e.(causer).Cause(); cause != errTest {
if cause := e.(wrapped).Unwrap(); cause != errTest {
t.Fatalf("causual should be errTest, got: %v", cause)
}
if !errors.Is(e, errTest) {