(t *testing.T)
| 291 | func (cne *customNestedErr) Error() string { return "nested testing error" } |
| 292 | |
| 293 | func TestRootError(t *testing.T) { |
| 294 | err := RootError(nil) |
| 295 | if err != nil { |
| 296 | t.Fatalf("expected nil error") |
| 297 | } |
| 298 | var ce *customErr |
| 299 | err = RootError(ce) |
| 300 | if err != ce { |
| 301 | t.Fatalf("expected err on invalid nil-ptr custom error %T %v", err, err) |
| 302 | } |
| 303 | ce = &customErr{} |
| 304 | err = RootError(ce) |
| 305 | if err != ce { |
| 306 | t.Fatalf("expected err on valid custom error") |
| 307 | } |
| 308 | |
| 309 | cne := &customNestedErr{} |
| 310 | err = RootError(cne) |
| 311 | if err != cne { |
| 312 | t.Fatalf("expected err on empty custom error: %T %v", err, err) |
| 313 | } |
| 314 | |
| 315 | cne = &customNestedErr{reflect.ValueOf(ce).Pointer()} |
| 316 | err = RootError(cne) |
| 317 | if err != cne { |
| 318 | t.Fatalf("expected err on invalid nested uniptr: %T %v", err, err) |
| 319 | } |
| 320 | |
| 321 | cne = &customNestedErr{ce} |
| 322 | err = RootError(cne) |
| 323 | if err != ce { |
| 324 | t.Fatalf("expected ce on valid nested error: %T %v", err, err) |
| 325 | } |
| 326 | |
| 327 | cne = &customNestedErr{ce} |
| 328 | err = RootError(syscall.ECONNREFUSED) |
| 329 | if err != syscall.ECONNREFUSED { |
| 330 | t.Fatalf("expected ECONNREFUSED on valid nested error: %T %v", err, err) |
| 331 | } |
| 332 | } |
| 333 | |
| 334 | // Benchmarks creation of new errors. |
| 335 | // Current expected range is ~0.1-0.2ms to create errors from 100 go routines |
nothing calls this directly
no test coverage detected