disttest

package
v0.0.0-...-7937c2d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 6, 2023 License: MIT Imports: 23 Imported by: 0

README

disttest

Пакет disttest содержит интеграционные тесты.

Тесты запускают все компоненты внутри одного процесса. Это сделано для удобства отладки. В случае паники в любом месте, весь тест упадёт целиком. Все логи пишутся в один файл, так что всегда сразу понятен порядок событий. А к зависшему тесту можно подключиться в отладчике прямо из goland.

  • fixture.go содержит код инициализации и остановки. Вам не нужно его менять. В testdata/{{ .TestName }} хранится директория с исходным кодом, которую использует клиент в соответствующем тесте. workdir/{{ .TestName }} сохраняет файлы после работы теста.
  • single_worker_test.go содержит тесты с одним воркером. Каждый тест проверяет отдельную функциональность. Отлаживайте тесты по одному, в порядке усложнения.
  • three_workers_test.go содержит тесты с тремя воркерами. Приступайте к их отладке, после того как тесты с одним воркером полностью пройдут.

Все тесты останавливают окружение отменяя корневой контекст. Если ваш код где-то неправильно обрабатывает отмену контекста, то тест может зависать на остановке. Вы можете отладить такое зависание, подключившись к зависшему тесту в дебагере, или послав SIGQUIT зависшему процессу.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	WorkerCount int
}

type JobResult

type JobResult struct {
	Stdout string
	Stderr string

	Code  *int
	Error string
}

type Recorder

type Recorder struct {
	Jobs map[build.ID]*JobResult
}

func NewRecorder

func NewRecorder() *Recorder

func (*Recorder) OnJobFailed

func (r *Recorder) OnJobFailed(jobID build.ID, code int, error string) error

func (*Recorder) OnJobFinished

func (r *Recorder) OnJobFinished(jobID build.ID) error

func (*Recorder) OnJobStderr

func (r *Recorder) OnJobStderr(jobID build.ID, stderr []byte) error

func (*Recorder) OnJobStdout

func (r *Recorder) OnJobStdout(jobID build.ID, stdout []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL