package log_topic import ( "testing" "gitp78su.ipnodns.ru/svi/kern/krn/kbus/kbus_local/client_bus_local" "gitp78su.ipnodns.ru/svi/kern/krn/kctx" ) type tester struct { t *testing.T } func TestLogTopic(t *testing.T) { sf := &tester{ t: t, } sf.new() } // Создаёт новый торик для логирования func (sf *tester) new() { sf.t.Log("new") sf.newBad1() sf.newGood1() } // Правильное создание топика func (sf *tester) newGood1() { sf.t.Log("newGood1") busClient := client_bus_local.NewClientBusLocal() client := NewLogTopic("test_topic", busClient) res := client.Pub([]byte("test_msg")) if res.IsErr() { sf.t.Fatalf("newGood1(): err=%v", res.Err()) } ctx := kctx.GetKernelCtx() ctx.Cancel() ctx.Wg().Wait() res = client.Pub([]byte("test_msg")) if !res.IsErr() { sf.t.Fatalf("newGood1(): err==nil") } } // Нет топика лога func (sf *tester) newBad1() { defer func() { if _panic := recover(); _panic == nil { sf.t.Fatalf("newBad1(): panic==nil") } }() _ = NewLogTopic("", nil) }