package slog import ( "fmt" "os" "testing" "time" "wartank/pkg/mock/mockkernel" ) /* Тестер для логера */ // Создание тестера type tester struct { t *testing.T err error kern *mockkernel.MockKernel slog *Slog } func TestSlog(t *testing.T) { test := &tester{ t: t, kern: mockkernel.NewMockKernel(), } test.create() _ = os.RemoveAll("./log") } // Создание логера func (sf *tester) create() { sf.t.Logf("=create=\n") sf.createBad1() sf.createBad2() sf.createGood1() } func (sf *tester) createGood1() { sf.t.Logf("=createGood1=\n") sf.slog, sf.err = NewSlog(sf.kern) if sf.err != nil { sf.t.Errorf("createGood1(): in create ISlog, err=\n\t%v", sf.err) } sf.kern.Slog_ = sf.slog sf.slog.Debugf("Проверка good1: %v\n", "test_123") sf.slog.Infof("Проверка good1: %v\n", "test_123") sf.slog.Warnf("Проверка good1: %v\n", "test_123") sf.slog.Errorf("Проверка good1: %v\n", fmt.Errorf("test_123").Error()) sf.kern.CancelApp() time.Sleep(time.Millisecond * 150) sf.slog.Debugf("Проверка good1: %v\n", "test_123 bad") sf.slog.Infof("") sf.slog.Warnf("") sf.slog.Errorf("") sf.slog.close() } // Нет объекта ядра func (sf *tester) createBad2() { sf.t.Logf("=createBad2=\n") slog, err := NewSlog(nil) if err == nil { sf.t.Errorf("createBad2(): in create ISlog, err==nil") } if slog != nil { sf.t.Errorf("createBad2): slog!=nil") } } // Нет строки сборки func (sf *tester) createBad1() { sf.t.Logf("=createBad1=\n") slog, err := NewSlog(sf.kern) if err == nil { sf.t.Errorf("createBad1(): in create ISlog, err==nil") } if slog != nil { sf.t.Errorf("createBad1(): slog!=nil") } // os.RemoveAll(slog.) }