aboutsummaryrefslogtreecommitdiff
path: root/cmp/cmpopts/equate.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmp/cmpopts/equate.go')
-rw-r--r--cmp/cmpopts/equate.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/cmp/cmpopts/equate.go b/cmp/cmpopts/equate.go
index 62837c9..e54a76c 100644
--- a/cmp/cmpopts/equate.go
+++ b/cmp/cmpopts/equate.go
@@ -6,6 +6,7 @@
package cmpopts
import (
+ "errors"
"math"
"reflect"
"time"
@@ -41,6 +42,7 @@ func isEmpty(x, y interface{}) bool {
// The fraction and margin must be non-negative.
//
// The mathematical expression used is equivalent to:
+//
// |x-y| ≤ max(fraction*min(|x|, |y|), margin)
//
// EquateApprox can be used in conjunction with EquateNaNs.
@@ -146,3 +148,9 @@ func areConcreteErrors(x, y interface{}) bool {
_, ok2 := y.(error)
return ok1 && ok2
}
+
+func compareErrors(x, y interface{}) bool {
+ xe := x.(error)
+ ye := y.(error)
+ return errors.Is(xe, ye) || errors.Is(ye, xe)
+}