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  }