| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- package slog_file
- import (
- "os"
- "testing"
- "time"
- "wartank/pkg/mock/mockenv"
- "wartank/pkg/mock/mockkernel"
- )
- /*
- Тест для интерфейса логгера в файл
- */
- type tester struct {
- t *testing.T
- err error
- me *mockenv.MockEnv
- kern *mockkernel.MockKernel
- сам *SlogFile
- }
- func TestSlogFile(t *testing.T) {
- _ = os.RemoveAll("./log")
- test := &tester{
- t: t,
- me: mockenv.NewMockEnv(),
- }
- test.create()
- test.write()
- test.close()
- test.writeBad1()
- test.cancel()
- _ = os.RemoveAll("./log")
- }
- // файл уже закрыт
- func (сам *tester) writeBad1() {
- if err := сам.сам.write([]byte{}); err == nil {
- сам.t.Errorf("write(): err==nil")
- }
- }
- // закрытие логгера
- func (сам *tester) close() {
- сам.t.Logf("=close=")
- сам.kern.CancelApp()
- сам.kern.Wg().Wait()
- сам.сам.Write("")
- }
- // отмена работы
- func (сам *tester) cancel() {
- сам.t.Logf("=cancal=")
- сам.createGood1()
- сам.kern.CancelApp()
- сам.kern.Wg().Wait()
- }
- // запись сообщения
- func (сам *tester) write() {
- сам.t.Logf("=write=")
- сам.сам.Write("test msg")
- time.Sleep(time.Millisecond * 150)
- }
- // Создание файлового логгера
- func (сам *tester) create() {
- сам.t.Logf("=create=")
- сам.createBad1()
- сам.createBad2()
- сам.createGood1()
- }
- func (сам *tester) createGood1() {
- сам.t.Logf("=createGood1=")
- сам.сам, сам.err = NewSlogFile(сам.kern, "test")
- if сам.err != nil {
- сам.t.Errorf("createGood1(): err=%v", сам.err)
- }
- if сам.сам == nil {
- сам.t.Errorf("createGood1(): SlogFile == nil")
- }
- }
- // Нет верси сборки
- func (сам *tester) createBad2() {
- сам.t.Logf("=createBad2=")
- сам.kern = mockkernel.NewMockKernel()
- сам.сам, сам.err = NewSlogFile(сам.kern, "")
- if сам.err == nil {
- сам.t.Errorf("createBad2(): err == nil")
- }
- if сам.сам != nil {
- сам.t.Errorf("createBad2(): SlogFile != nil")
- }
- }
- // Нет объекта ядра
- func (сам *tester) createBad1() {
- сам.t.Logf("=createBad1=")
- сам.сам, сам.err = NewSlogFile(nil, "test")
- if сам.err == nil {
- сам.t.Errorf("createBad1(): err == nil")
- }
- if сам.сам != nil {
- сам.t.Errorf("createBad1(): SlogFile != nil")
- }
- }
|