Fail reports a failure through
(t TestingT, failureMessage string, msgAndArgs ...interface{})
| 344 | |
| 345 | // Fail reports a failure through |
| 346 | func Fail(t TestingT, failureMessage string, msgAndArgs ...interface{}) bool { |
| 347 | if h, ok := t.(tHelper); ok { |
| 348 | h.Helper() |
| 349 | } |
| 350 | content := []labeledContent{ |
| 351 | {"Error Trace", strings.Join(CallerInfo(), "\n\t\t\t")}, |
| 352 | {"Error", failureMessage}, |
| 353 | } |
| 354 | |
| 355 | // Add test name if the Go version supports it |
| 356 | if n, ok := t.(interface { |
| 357 | Name() string |
| 358 | }); ok { |
| 359 | content = append(content, labeledContent{"Test", n.Name()}) |
| 360 | } |
| 361 | |
| 362 | message := messageFromMsgAndArgs(msgAndArgs...) |
| 363 | if len(message) > 0 { |
| 364 | content = append(content, labeledContent{"Messages", message}) |
| 365 | } |
| 366 | |
| 367 | t.Errorf("\n%s", ""+labeledOutput(content...)) |
| 368 | |
| 369 | return false |
| 370 | } |
| 371 | |
| 372 | type labeledContent struct { |
| 373 | label string |
searching dependent graphs…