Skip to content

Commit 73ec637

Browse files
author
Jan Seidl
committed
don't use pseudofunctional paradigma in non-functional code;)
1 parent 5dc1631 commit 73ec637

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

retry.go

+5-12
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,10 @@ func RetryCustom(retryableFunction Retryable, onRetryFunction OnRetry, opts Retr
7474
type errorLog []error
7575

7676
func (log errorLog) String() string {
77-
i := 0
78-
return strings.Join(log.Map(func(err error) string {
79-
i++
80-
return fmt.Sprintf("#%d: %s", i, err.Error())
81-
}), "\n")
82-
}
83-
84-
func (vs errorLog) Map(f func(error) string) []string {
85-
vsm := make([]string, len(vs))
86-
for i, v := range vs {
87-
vsm[i] = f(v)
77+
logWithNumber := make([]string, len(log))
78+
for i, l := range log {
79+
logWithNumber[i] = fmt.Sprintf("#%d: %s", i+1, l.Error())
8880
}
89-
return vsm
81+
82+
return strings.Join(logWithNumber, "\n")
9083
}

retry_test.go

+13-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,19 @@ func TestCustom(t *testing.T) {
1515
NewRetryOpts().Units(time.Nanosecond),
1616
)
1717
assert.Error(t, err)
18-
t.Log(err)
18+
19+
expectedErrorFormat := `All (10) retries fail:
20+
#1: test
21+
#2: test
22+
#3: test
23+
#4: test
24+
#5: test
25+
#6: test
26+
#7: test
27+
#8: test
28+
#9: test
29+
#10: test`
30+
assert.Equal(t, expectedErrorFormat, err.Error(), "retry error format")
1931
assert.Equal(t, uint(45), retrySum, "right count of retry")
2032

2133
retrySum = 0

0 commit comments

Comments
 (0)