github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/internal/xtest/logger.go (about) 1 package xtest 2 3 import ( 4 "sync" 5 "testing" 6 ) 7 8 func MakeSyncedTest(t *testing.T) *SyncedTest { 9 return &SyncedTest{ 10 T: t, 11 } 12 } 13 14 type SyncedTest struct { 15 m sync.Mutex 16 *testing.T 17 } 18 19 func (s *SyncedTest) Cleanup(f func()) { 20 s.m.Lock() 21 defer s.m.Unlock() 22 s.T.Helper() 23 24 s.T.Cleanup(f) 25 } 26 27 func (s *SyncedTest) Error(args ...interface{}) { 28 s.m.Lock() 29 defer s.m.Unlock() 30 s.T.Helper() 31 32 s.T.Error(args...) 33 } 34 35 func (s *SyncedTest) Errorf(format string, args ...interface{}) { 36 s.m.Lock() 37 defer s.m.Unlock() 38 s.T.Helper() 39 40 s.T.Errorf(format, args...) 41 } 42 43 func (s *SyncedTest) Fail() { 44 s.m.Lock() 45 defer s.m.Unlock() 46 s.T.Helper() 47 48 s.T.Fail() 49 } 50 51 func (s *SyncedTest) FailNow() { 52 s.m.Lock() 53 defer s.m.Unlock() 54 s.T.Helper() 55 56 s.T.FailNow() 57 } 58 59 func (s *SyncedTest) Failed() bool { 60 s.m.Lock() 61 defer s.m.Unlock() 62 s.T.Helper() 63 64 return s.T.Failed() 65 } 66 67 func (s *SyncedTest) Fatal(args ...interface{}) { 68 s.m.Lock() 69 defer s.m.Unlock() 70 s.T.Helper() 71 72 s.T.Fatal(args...) 73 } 74 75 func (s *SyncedTest) Fatalf(format string, args ...interface{}) { 76 s.m.Lock() 77 defer s.m.Unlock() 78 s.T.Helper() 79 80 s.T.Fatalf(format, args...) 81 } 82 83 // must direct called 84 // func (s *SyncedTest) Helper() { 85 // s.m.Lock() 86 // defer s.m.Unlock() 87 // s.T.Helper() 88 //} 89 90 func (s *SyncedTest) Log(args ...interface{}) { 91 s.m.Lock() 92 defer s.m.Unlock() 93 s.T.Helper() 94 95 s.T.Log(args...) 96 } 97 98 func (s *SyncedTest) Logf(format string, args ...interface{}) { 99 s.m.Lock() 100 defer s.m.Unlock() 101 s.T.Helper() 102 103 s.T.Logf(format, args...) 104 } 105 106 func (s *SyncedTest) Name() string { 107 s.m.Lock() 108 defer s.m.Unlock() 109 s.T.Helper() 110 111 return s.T.Name() 112 } 113 114 func (s *SyncedTest) Run(name string, f func(t *testing.T)) bool { 115 s.m.Lock() 116 defer s.m.Unlock() 117 s.T.Helper() 118 119 return s.T.Run(name, f) 120 } 121 122 func (s *SyncedTest) RunSynced(name string, f func(t *SyncedTest)) bool { 123 s.m.Lock() 124 defer s.m.Unlock() 125 s.T.Helper() 126 127 return s.T.Run(name, func(t *testing.T) { 128 syncedTest := MakeSyncedTest(t) 129 f(syncedTest) 130 }) 131 } 132 133 func (s *SyncedTest) Setenv(key, value string) { 134 panic("not implemented") 135 } 136 137 func (s *SyncedTest) Skip(args ...interface{}) { 138 s.m.Lock() 139 defer s.m.Unlock() 140 s.T.Helper() 141 142 s.T.Skip(args...) 143 } 144 145 func (s *SyncedTest) SkipNow() { 146 s.m.Lock() 147 defer s.m.Unlock() 148 s.T.Helper() 149 150 s.T.SkipNow() 151 } 152 153 func (s *SyncedTest) Skipf(format string, args ...interface{}) { 154 s.m.Lock() 155 defer s.m.Unlock() 156 s.T.Helper() 157 s.T.Skipf(format, args...) 158 } 159 160 func (s *SyncedTest) Skipped() bool { 161 s.m.Lock() 162 defer s.m.Unlock() 163 s.T.Helper() 164 165 return s.T.Skipped() 166 } 167 168 func (s *SyncedTest) TempDir() string { 169 s.m.Lock() 170 defer s.m.Unlock() 171 s.T.Helper() 172 173 return s.T.TempDir() 174 }