(t *testing.T)
| 199 | } |
| 200 | |
| 201 | func TestFindWrappedErrorFoundTop(t *testing.T) { |
| 202 | var err0 error |
| 203 | callCount0 := 0 |
| 204 | foundErr, found := FindWrappedError(err0, makeTestErrorClassifier(&callCount0)) |
| 205 | require.False(t, found) |
| 206 | require.Nil(t, foundErr) |
| 207 | require.Equal(t, 0, callCount0) |
| 208 | |
| 209 | err1 := New("return_top") |
| 210 | callCount1 := 0 |
| 211 | foundErr, found = FindWrappedError(err1, makeTestErrorClassifier(&callCount1)) |
| 212 | require.True(t, found) |
| 213 | require.Equal(t, err1, foundErr) |
| 214 | require.Equal(t, 1, callCount1) |
| 215 | |
| 216 | err2 := Wrap(err1, "skip") |
| 217 | callCount2 := 0 |
| 218 | foundErr, found = FindWrappedError(err2, makeTestErrorClassifier(&callCount2)) |
| 219 | require.True(t, found) |
| 220 | require.Equal(t, err2, foundErr) |
| 221 | require.Equal(t, 2, callCount2) |
| 222 | |
| 223 | err3 := Wrap(err2, "skip") |
| 224 | callCount3 := 0 |
| 225 | foundErr, found = FindWrappedError(err3, makeTestErrorClassifier(&callCount3)) |
| 226 | require.True(t, found) |
| 227 | require.Equal(t, err3, foundErr) |
| 228 | require.Equal(t, 3, callCount3) |
| 229 | |
| 230 | err4 := Wrap(err3, "return_top") |
| 231 | callCount4 := 0 |
| 232 | foundErr, found = FindWrappedError(err4, makeTestErrorClassifier(&callCount4)) |
| 233 | require.True(t, found) |
| 234 | require.Equal(t, err4, foundErr) |
| 235 | require.Equal(t, 1, callCount4) |
| 236 | |
| 237 | err5 := Wrap(err4, "skip") |
| 238 | callCount5 := 0 |
| 239 | foundErr, found = FindWrappedError(err5, makeTestErrorClassifier(&callCount5)) |
| 240 | require.True(t, found) |
| 241 | require.Equal(t, err5, foundErr) |
| 242 | require.Equal(t, 2, callCount5) |
| 243 | } |
| 244 | |
| 245 | // --------------------------------------- |
| 246 | // minimal example + test for custom error |
nothing calls this directly
no test coverage detected