func (t *TestingTB) Log(args ...interface{}) {
	t.Messages = append(t.Messages, fmt.Sprint(args...))
}
Log mocks testing.T Log method.
package test
import (
	"fmt"
	"runtime"
	"testing"
	"github.com/maxatome/go-testdeep/internal/trace"
)
type TestingT struct {
	Messages  []string
	IsFatal   bool
	HasFailed bool
}
type testingFatal string
func NewTestingT() *TestingT {
	return &TestingT{}
}
func (t *TestingT) Error(args ...interface{}) {
	t.Messages = append(t.Messages, fmt.Sprint(args...))
	t.IsFatal = false
	t.HasFailed = true
}
func (t *TestingT) Fatal(args ...interface{}) {
	t.Messages = append(t.Messages, fmt.Sprint(args...))
	t.IsFatal = true
	t.HasFailed = true
	panic(testingFatal(t.Messages[len(t.Messages)-1]))
}
func (t *TestingT) CatchFatal(fn func()) (fatalStr string) {
	panicked := true
	trace.IgnorePackage()
	defer func() {
		trace.UnignorePackage()
		if panicked {
			if x := recover(); x != nil {
				if str, ok := x.(testingFatal); ok {
					fatalStr = string(str)
				} else {
					panic(x)  
				}
			}
		}
	}()
	fn()
	panicked = false
	return
}
func (t *TestingT) Helper() {
}
func (t *TestingT) LastMessage() string {
	if len(t.Messages) == 0 {
		return ""
	}
	return t.Messages[len(t.Messages)-1]
}
func (t *TestingT) ResetMessages() {
	t.Messages = t.Messages[:0]
}
type TestingTB struct {
	TestingT
	name string
	testing.TB
	cleanup func()
}
func NewTestingTB(name string) *TestingTB {
	return &TestingTB{name: name}
}
func (t *TestingTB) Cleanup(fn func()) {
	old := t.cleanup
	t.cleanup = func() {
		if old != nil {
			defer old()
		}
		fn()
	}
	runtime.SetFinalizer(t, func(t *TestingTB) { t.cleanup() })
}
func (t *TestingTB) Error(args ...interface{}) {
	t.TestingT.Error(args...)
}
func (t *TestingTB) Errorf(format string, args ...interface{}) {
	t.TestingT.Error(fmt.Sprintf(format, args...))
}
func (t *TestingTB) Fail() {
	t.HasFailed = true
}
func (t *TestingTB) FailNow() {
	t.HasFailed = true
	t.IsFatal = true
}
func (t *TestingTB) Failed() bool {
	return t.HasFailed
}
func (t *TestingTB) Fatal(args ...interface{}) {
	t.TestingT.Fatal(args...)
}
func (t *TestingTB) Fatalf(format string, args ...interface{}) {
	t.TestingT.Fatal(fmt.Sprintf(format, args...))
}
func (t *TestingTB) Helper() {
}