Fail reports a failure through
(t TestingT, failureMessage string, msgAndArgs ...interface{})
| 364 | |
| 365 | // Fail reports a failure through |
| 366 | func Fail(t TestingT, failureMessage string, msgAndArgs ...interface{}) bool { |
| 367 | if h, ok := t.(tHelper); ok { |
| 368 | h.Helper() |
| 369 | } |
| 370 | content := []labeledContent{ |
| 371 | {"Error Trace", strings.Join(CallerInfo(), "\n\t\t\t")}, |
| 372 | {"Error", failureMessage}, |
| 373 | } |
| 374 | |
| 375 | // Add test name if the Go version supports it |
| 376 | if n, ok := t.(interface { |
| 377 | Name() string |
| 378 | }); ok { |
| 379 | content = append(content, labeledContent{"Test", n.Name()}) |
| 380 | } |
| 381 | |
| 382 | message := messageFromMsgAndArgs(msgAndArgs...) |
| 383 | if len(message) > 0 { |
| 384 | content = append(content, labeledContent{"Messages", message}) |
| 385 | } |
| 386 | |
| 387 | t.Errorf("\n%s", ""+labeledOutput(content...)) |
| 388 | |
| 389 | return false |
| 390 | } |
| 391 | |
| 392 | type labeledContent struct { |
| 393 | label string |