| 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
- sf *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 (sf *tester) writeBad1() {
- if err := sf.sf.write([]byte{}); err == nil {
- sf.t.Errorf("write(): err==nil")
- }
- }
- // закрытие логгера
- func (sf *tester) close() {
- sf.t.Logf("=close=")
- sf.kern.CancelApp()
- sf.kern.Wg().Wait()
- sf.sf.Write("")
- }
- // отмена работы
- func (sf *tester) cancel() {
- sf.t.Logf("=cancal=")
- sf.createGood1()
- sf.kern.CancelApp()
- sf.kern.Wg().Wait()
- }
- // запись сообщения
- func (sf *tester) write() {
- sf.t.Logf("=write=")
- sf.sf.Write("test msg")
- time.Sleep(time.Millisecond * 150)
- }
- // Создание файлового логгера
- func (sf *tester) create() {
- sf.t.Logf("=create=")
- sf.createBad1()
- sf.createBad2()
- sf.createGood1()
- }
- func (sf *tester) createGood1() {
- sf.t.Logf("=createGood1=")
- sf.sf, sf.err = NewSlogFile(sf.kern, "test")
- if sf.err != nil {
- sf.t.Errorf("createGood1(): err=%v", sf.err)
- }
- if sf.sf == nil {
- sf.t.Errorf("createGood1(): SlogFile == nil")
- }
- }
- // Нет верси сборки
- func (sf *tester) createBad2() {
- sf.t.Logf("=createBad2=")
- sf.kern = mockkernel.NewMockKernel()
- sf.sf, sf.err = NewSlogFile(sf.kern, "")
- if sf.err == nil {
- sf.t.Errorf("createBad2(): err == nil")
- }
- if sf.sf != nil {
- sf.t.Errorf("createBad2(): SlogFile != nil")
- }
- }
- // Нет объекта ядра
- func (sf *tester) createBad1() {
- sf.t.Logf("=createBad1=")
- sf.sf, sf.err = NewSlogFile(nil, "test")
- if sf.err == nil {
- sf.t.Errorf("createBad1(): err == nil")
- }
- if sf.sf != nil {
- sf.t.Errorf("createBad1(): SlogFile != nil")
- }
- }
|