Documentation
¶
Overview ¶
Package planner contains logic to build and execute a test plan.
Index ¶
Constants ¶
const ( // DefaultGracePeriod is default recommended grace period for SafeCall. DefaultGracePeriod = 30 * time.Second )
Variables ¶
This section is empty.
Functions ¶
func RunTests ¶
func RunTests(ctx context.Context, tests []*protocol.ResolvedEntity, out OutputStream, pcfg *Config) error
RunTests runs a set of tests, writing outputs to out.
RunTests is responsible for building an efficient plan to run the given tests. Therefore the order of tests in the argument is ignored; it just specifies a set of tests to run.
RunTests runs tests on goroutines. If a test does not finish after reaching its timeout, this function returns with an error without waiting for its finish.
func RunTestsLegacy ¶
func RunTestsLegacy(ctx context.Context, tests []*testing.TestInstance, out OutputStream, pcfg *Config) error
RunTestsLegacy runs a set of tests, writing outputs to out.
RunTestsLegacy is responsible for building an efficient plan to run the given tests. Therefore the order of tests in the argument is ignored; it just specifies a set of tests to run.
RunTestsLegacy runs tests on goroutines. If a test does not finish after reaching its timeout, this function returns with an error without waiting for its finish.
Types ¶
type Config ¶
type Config struct {
// Dirs holds several directory paths important for running tests.
Dirs *protocol.RunDirectories
// Features contains software/hardware features the DUT has, and runtime variables.
Features *protocol.Features
// ServiceConfig contains configurations of external services available to
// Tast framework and Tast tests.
Service *protocol.ServiceConfig
// DataFileConfig contains configurations about data files.
DataFile *protocol.DataFileConfig
// RemoteData contains information relevant to remote tests.
// It is nil for local tests.
RemoteData *testing.RemoteData
// TestHook is run before TestInstance.Func (and TestInstance.Pre.Prepare, when applicable) if non-nil.
// The returned closure is executed after a test if not nil.
TestHook func(context.Context, *testing.TestHookState) func(context.Context, *testing.TestHookState)
// BeforeDownload specifies a function called before downloading external data files.
// It is ignored if it is nil.
BeforeDownload func(context.Context)
// Tests is a map from a test name to its metadata.
Tests map[string]*testing.TestInstance
// Fixtures is a map from a fixture name to its metadata.
Fixtures map[string]*testing.FixtureInstance
// StartFixtureName is a name of a fixture to start test execution.
// Tests requested to run should depend on the start fixture directly or
// indirectly.
// Since a start fixture is treated specially (e.g. no output directory is
// created), metadata of a start fixture must not be contained in
// Config.Fixtures. Instead, StartFixtureImpl gives an implementation of
// a start fixture.
StartFixtureName string
// StartFixtureImpl gives an implementation of a start fixture.
// If it is nil, a default stub implementation is used.
StartFixtureImpl testing.FixtureImpl
// CustomGracePeriod specifies custom grace period after entity timeout.
// If nil reasonable default will be used. Config.GracePeriod() returns
// the grace period to use. This field exists for unit testing.
CustomGracePeriod *time.Duration
// ExternalTarget represents configs for running an external bundle from
// current bundle. (i.e. local bundle from remote bundle).
ExternalTarget *ExternalTarget
//MaxSysMsgLogSize is a size of flag for truncate log file.
MaxSysMsgLogSize int64
}
Config contains details about how the planner should run tests.
func (*Config) FixtureConfig ¶
FixtureConfig returns a fixture config derived from c.
func (*Config) GracePeriod ¶
GracePeriod returns grace period after entity timeout.
type ExternalTarget ¶
type ExternalTarget struct {
Device *protocol.TargetDevice
Config *protocol.RunTargetConfig
Bundle string
}
ExternalTarget specifies the external target bundle to run.
type FixtureStack ¶
type FixtureStack = fixture.InternalStack
FixtureStack maintains a stack of fixtures and their states.
func NewFixtureStack ¶
func NewFixtureStack(cfg *Config, out OutputStream) *FixtureStack
NewFixtureStack creates a new empty fixture stack.
type OutputStream ¶
OutputStream is an interface to report streamed outputs of multiple entity runs.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
entity
Package entity provides common operations for entities.
|
Package entity provides common operations for entities. |
|
fixture
Package fixture provides fixture stack data structure.
|
Package fixture provides fixture stack data structure. |
|
output
Package output defines output stream from entities.
|
Package output defines output stream from entities. |
|
output/outputtest
Package outputtest provides functionalities for unit testing output package.
|
Package outputtest provides functionalities for unit testing output package. |