| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package keeper
- import (
- "os"
- "syscall"
- "testing"
- "time"
- "wartank/pkg/components/kernel/slog"
- "wartank/pkg/mock/mock_env"
- "wartank/pkg/mock/mockkernel"
- "wartank/pkg/types"
- )
- /*
- Тест для сторожа
- */
- // Тестер для сторожа
- type tester struct {
- t *testing.T
- err error
- me *mock_env.МокОкружение
- kp *Сторож
- kern types.ИЯдро
- }
- func TestKeeper(t *testing.T) {
- test := &tester{
- t: t,
- me: mock_env.НовМокОкружение(),
- }
- test.create()
- test.cancel()
- _ = os.RemoveAll("./log")
- }
- // Отмена глобального контекста приложения
- func (сам *tester) cancel() {
- сам.kp.chSys <- syscall.SIGTERM
- time.Sleep(time.Microsecond * 150)
- сам.createGood1()
- сам.kern.Отменить()
- time.Sleep(time.Microsecond * 150)
- }
- // Создание сторожа
- func (сам *tester) create() {
- сам.createBad1()
- сам.createGood1()
- }
- func (сам *tester) createGood1() {
- defer func() {
- if _panic := recover(); _panic != nil {
- сам.t.Errorf("createGood1(: panic=\n\t%v\n", _panic)
- }
- }()
- сам.me.Unset()
- if err := сам.me.ИнитЛокал(); err != nil {
- сам.t.Errorf("createGood1(): не локальное окружение, err=\n\t%v\n", err)
- return
- }
- сам.kern = mockkernel.NewMockKernel()
- ядро := сам.kern.(*mockkernel.MockKernel)
- ядро.Slog_, сам.err = slog.НовСлог(сам.kern)
- if сам.err != nil {
- сам.t.Errorf("createGood1(): in create ISlog, err=\n\t%v", сам.err)
- }
- сам.kp = НовСторож(сам.kern)
- if сам.kp == nil {
- сам.t.Errorf("createGood1(): keep==nil")
- }
- }
- // Нет объекта приложения
- func (сам *tester) createBad1() {
- defer func() {
- if _panic := recover(); _panic == nil {
- сам.t.Errorf("createBad1(: panic==nil\n")
- }
- if сам.kp != nil {
- сам.t.Errorf("createBad1(): keep!=nil")
- }
- }()
- сам.kp = НовСторож(nil)
- }
|