Skip to content

Commit 56486ba

Browse files
committed
fix: reslice error log to remove nil values
Refs: avast#80
1 parent 54c42e0 commit 56486ba

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

retry.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ func Do(retryableFunc RetryableFunc, opts ...Option) error {
157157
}
158158
n++
159159
errorLog[n] = config.context.Err()
160-
return errorLog
160+
return errorLog[:lenWithoutNil(errorLog)]
161161
}
162162

163163
} else {
@@ -175,7 +175,7 @@ func Do(retryableFunc RetryableFunc, opts ...Option) error {
175175
if config.lastErrorOnly {
176176
return errorLog[lastErrIndex]
177177
}
178-
return errorLog
178+
return errorLog[:lenWithoutNil(errorLog)]
179179
}
180180

181181
func newDefaultRetryConfig() *Config {

retry_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ func TestDoAllFailed(t *testing.T) {
3131
#8: test
3232
#9: test
3333
#10: test`
34+
assert.Len(t, err, 10)
3435
assert.Equal(t, expectedErrorFormat, err.Error(), "retry error format")
3536
assert.Equal(t, uint(45), retrySum, "right count of retry")
3637
}
@@ -68,6 +69,7 @@ func TestRetryIf(t *testing.T) {
6869
#1: test
6970
#2: test
7071
#3: special`
72+
assert.Len(t, err, 3)
7173
assert.Equal(t, expectedErrorFormat, err.Error(), "retry error format")
7274
assert.Equal(t, uint(2), retryCount, "right count of retry")
7375

@@ -164,7 +166,7 @@ func TestLastErrorOnly(t *testing.T) {
164166
func TestUnrecoverableError(t *testing.T) {
165167
attempts := 0
166168
testErr := errors.New("error")
167-
expectedErr := Error{testErr, nil}
169+
expectedErr := Error{testErr}
168170
err := Do(
169171
func() error {
170172
attempts++
@@ -367,6 +369,7 @@ func TestContext(t *testing.T) {
367369
#1: test
368370
#2: test
369371
#3: context canceled`
372+
assert.Len(t, err, 3)
370373
assert.Equal(t, expectedErrorFormat, err.Error(), "retry error format")
371374
assert.Equal(t, 2, retrySum, "called at most once")
372375
})

0 commit comments

Comments
 (0)