package kctx import ( "testing" ) type tester struct { t *testing.T } func TestKernelCtx(t *testing.T) { sf := &tester{ t: t, } sf.new() } // Создание контекста ядра. func (sf *tester) new() { sf.t.Log("new") kCtx := GetKernelCtx() if kCtx == nil { sf.t.Fatalf("new(): KernelCtx==nil") } if ctx := kCtx.CtxBg(); ctx != kernCtx.ctxBg { sf.t.Fatalf("new(): ctx!=ctxBg") } if ctx := kCtx.Ctx(); ctx == nil { sf.t.Fatalf("new(): ctx==nil") } kCtx.Set("counter", 5, "test_counter") if kCtx.Get("counter") == nil { sf.t.Fatalf("new(): counter==nil") } res := kCtx.Get("counter") ctxVal := res.Hassert("new()") val := ctxVal.Val().(int) if val != 5 { sf.t.Fatalf("new(): counter(%v)!=5", val) } kCtx.Del("counter") kCtx.Cancel() kCtx.Wait() kCtx = GetKernelCtx() if kCtx == nil { sf.t.Fatalf("new(): KernelCtx==nil") } if wg := kCtx.Wg(); wg == nil { sf.t.Fatalf("new(): IKernelWg==nil") } if keep := kCtx.Keeper(); keep == nil { sf.t.Fatalf("new(): IKernelKeeper==nil") } }