aboutsummaryrefslogtreecommitdiff
path: root/src/errors/join_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/errors/join_test.go')
-rw-r--r--src/errors/join_test.go38
1 files changed, 4 insertions, 34 deletions
diff --git a/src/errors/join_test.go b/src/errors/join_test.go
index 439b372ca0..8ee4d7f77b 100644
--- a/src/errors/join_test.go
+++ b/src/errors/join_test.go
@@ -25,6 +25,7 @@ func TestJoinReturnsNil(t *testing.T) {
func TestJoin(t *testing.T) {
err1 := errors.New("err1")
err2 := errors.New("err2")
+ merr := multiErr{errors.New("err3")}
for _, test := range []struct {
errs []error
want []error
@@ -37,6 +38,9 @@ func TestJoin(t *testing.T) {
}, {
errs: []error{err1, nil, err2},
want: []error{err1, err2},
+ }, {
+ errs: []error{merr},
+ want: []error{merr},
}} {
got := errors.Join(test.errs...).(interface{ Unwrap() []error }).Unwrap()
if !reflect.DeepEqual(got, test.want) {
@@ -70,37 +74,3 @@ func TestJoinErrorMethod(t *testing.T) {
}
}
}
-
-func BenchmarkJoin(b *testing.B) {
- for _, bb := range []struct {
- name string
- errs []error
- }{
- {
- name: "no error",
- },
- {
- name: "single non-nil error",
- errs: []error{errors.New("err")},
- },
- {
- name: "multiple errors",
- errs: []error{errors.New("err"), errors.New("newerr"), errors.New("newerr2")},
- },
- {
- name: "unwrappable single error",
- errs: []error{errors.Join(errors.New("err"))},
- },
- {
- name: "nil first error",
- errs: []error{nil, errors.New("newerr")},
- },
- } {
- b.Run(bb.name, func(b *testing.B) {
- b.ReportAllocs()
- for i := 0; i < b.N; i++ {
- _ = errors.Join(bb.errs...)
- }
- })
- }
-}