minirunner

package
v0.1.20 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2023 License: AGPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActiveVU

type ActiveVU struct {
	*VU
	*libWorker.VUActivationParams
	// contains filtered or unexported fields
}

ActiveVU holds a VU and its activation parameters

func (*ActiveVU) RunOnce

func (vu *ActiveVU) RunOnce() error

RunOnce runs the mock default function once, incrementing its iteration.

type MiniRunner

type MiniRunner struct {
	Fn              func(ctx context.Context, state *libWorker.State, out chan<- workerMetrics.SampleContainer) error
	SetupFn         func(ctx context.Context, out chan<- workerMetrics.SampleContainer) ([]byte, error)
	TeardownFn      func(ctx context.Context, out chan<- workerMetrics.SampleContainer) error
	HandleSummaryFn func(context.Context, *libWorker.Summary) (map[string]io.Reader, error)

	SetupData []byte

	Group   *libWorker.Group
	Options libWorker.Options
}

MiniRunner partially implements the libWorker.Runner interface, but instead of using a real JS runtime, it allows us to directly specify the options and functions with Go code.

func (MiniRunner) GetDefaultGroup

func (r MiniRunner) GetDefaultGroup() *libWorker.Group

GetDefaultGroup returns the default group.

func (MiniRunner) GetOptions

func (r MiniRunner) GetOptions() libWorker.Options

GetOptions returns the supplied options struct.

func (MiniRunner) GetSetupData

func (r MiniRunner) GetSetupData() []byte

GetSetupData returns json representation of the setup data if setup() is specified and was ran, nil otherwise.

func (*MiniRunner) HandleSummary

func (r *MiniRunner) HandleSummary(ctx context.Context, s *libWorker.Summary) (map[string]io.Reader, error)

HandleSummary calls the specified summary callback, if supplied.

func (MiniRunner) IsExecutable

func (r MiniRunner) IsExecutable(name string) bool

IsExecutable satisfies libWorker.Runner, but is mocked for MiniRunner since it doesn't deal with JS.

func (MiniRunner) MakeArchive

func (r MiniRunner) MakeArchive() *libWorker.Archive

MakeArchive isn't implemented, it always returns nil and is just here to satisfy the libWorker.Runner interface.

func (*MiniRunner) NewVU

func (r *MiniRunner) NewVU(idLocal, idGlobal uint64, out chan<- workerMetrics.SampleContainer, workerInfo *libWorker.WorkerInfo) (libWorker.InitializedVU, error)

NewVU returns a new VU with an incremental ID.

func (*MiniRunner) SetOptions

func (r *MiniRunner) SetOptions(opts libWorker.Options) error

SetOptions allows you to override the runner options.

func (*MiniRunner) SetSetupData

func (r *MiniRunner) SetSetupData(data []byte)

SetSetupData saves the externally supplied setup data as JSON in the runner.

func (*MiniRunner) Setup

func (r *MiniRunner) Setup(ctx context.Context, out chan<- workerMetrics.SampleContainer) (err error)

Setup calls the supplied mock setup() function, if present.

func (MiniRunner) Teardown

func (r MiniRunner) Teardown(ctx context.Context, out chan<- workerMetrics.SampleContainer) error

Teardown calls the supplied mock teardown() function, if present.

type VU

type VU struct {
	R            *MiniRunner
	Out          chan<- workerMetrics.SampleContainer
	ID, IDGlobal uint64
	Iteration    int64
	// contains filtered or unexported fields
}

VU is a mock VU, spawned by a MiniRunner.

func (*VU) Activate

func (vu *VU) Activate(params *libWorker.VUActivationParams) libWorker.ActiveVU

Activate the VU so it will be able to run code.

func (*VU) GetID

func (vu *VU) GetID() uint64

GetID returns the unique VU ID.

func (*VU) State

func (vu *VU) State() *libWorker.State

State returns the VU's State.

Jump to

Keyboard shortcuts

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