(t *testing.T)
| 156 | } |
| 157 | |
| 158 | func TestFindWrappedErrorFound(t *testing.T) { |
| 159 | var err0 error |
| 160 | callCount0 := 0 |
| 161 | foundErr, found := FindWrappedError(err0, makeTestErrorClassifier(&callCount0)) |
| 162 | require.False(t, found) |
| 163 | require.Nil(t, foundErr) |
| 164 | require.Equal(t, 0, callCount0) |
| 165 | |
| 166 | err1 := New("return_me") |
| 167 | callCount1 := 0 |
| 168 | foundErr, found = FindWrappedError(err1, makeTestErrorClassifier(&callCount1)) |
| 169 | require.True(t, found) |
| 170 | require.Equal(t, err1, foundErr) |
| 171 | require.Equal(t, 1, callCount1) |
| 172 | |
| 173 | err2 := Wrap(err1, "skip") |
| 174 | callCount2 := 0 |
| 175 | foundErr, found = FindWrappedError(err2, makeTestErrorClassifier(&callCount2)) |
| 176 | require.True(t, found) |
| 177 | require.Equal(t, err1, foundErr) |
| 178 | require.Equal(t, 2, callCount2) |
| 179 | |
| 180 | err3 := Wrap(err2, "skip") |
| 181 | callCount3 := 0 |
| 182 | foundErr, found = FindWrappedError(err3, makeTestErrorClassifier(&callCount3)) |
| 183 | require.Equal(t, err1, foundErr) |
| 184 | require.Equal(t, 3, callCount3) |
| 185 | |
| 186 | err4 := Wrap(err3, "return_me") |
| 187 | callCount4 := 0 |
| 188 | foundErr, found = FindWrappedError(err4, makeTestErrorClassifier(&callCount4)) |
| 189 | require.True(t, found) |
| 190 | require.Equal(t, err4, foundErr) |
| 191 | require.Equal(t, 1, callCount4) |
| 192 | |
| 193 | err5 := Wrap(err4, "skip") |
| 194 | callCount5 := 0 |
| 195 | foundErr, found = FindWrappedError(err5, makeTestErrorClassifier(&callCount5)) |
| 196 | require.True(t, found) |
| 197 | require.Equal(t, err4, foundErr) |
| 198 | require.Equal(t, 2, callCount5) |
| 199 | } |
| 200 | |
| 201 | func TestFindWrappedErrorFoundTop(t *testing.T) { |
| 202 | var err0 error |
nothing calls this directly
no test coverage detected