/
githubmirror
/
ydb-go-sdk
Обзор
Документация
Войти
/
githubmirror
/
ydb-go-sdk
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
internal/xcontext/context_error_test.go
67 строк
1 KB
Aleksey Myasnikov
custom context error
12 май 2023, 17:22
12 май 2023, 17:22
3ad4107
Код
Авторство
О чём код?
package xcontext import ( "context" "fmt" "testing" "github.com/stretchr/testify/require" "github.com/ydb-platform/ydb-go-sdk/v3/internal/xerrors" ) func TestCtxErrError(t *testing.T) { for _, tt := range []struct { err error str string }{ { err: errAt(context.Canceled, 0), str: "'context canceled' at `github.com/ydb-platform/ydb-go-sdk/v3/internal/xcontext.TestCtxErrError(context_error_test.go:19)`", //nolint:lll }, { err: errFrom(context.DeadlineExceeded, "some.go"), str: "'context deadline exceeded' from `some.go`", }, } { t.Run("", func(t *testing.T) { require.Equal(t, tt.str, tt.err.Error()) }) } } func TestCtxErrIs(t *testing.T) { for _, tt := range []struct { err error target error }{ { err: errAt(context.Canceled, 0), target: context.Canceled, }, { err: errFrom(context.DeadlineExceeded, "some.go"), target: context.DeadlineExceeded, }, { err: errAt(xerrors.WithStackTrace(context.Canceled), 0), target: context.Canceled, }, { err: errFrom(xerrors.WithStackTrace(context.DeadlineExceeded), "some.go"), target: context.DeadlineExceeded, }, { err: errAt(xerrors.WithStackTrace(fmt.Errorf("%w", context.Canceled)), 0), target: context.Canceled, }, { err: errFrom(xerrors.WithStackTrace(fmt.Errorf("%w", context.DeadlineExceeded)), "some.go"), target: context.DeadlineExceeded, }, } { t.Run("", func(t *testing.T) { require.ErrorIs(t, tt.err, tt.target) }) } }