Documentation
¶
Overview ¶
Package scenario owns the compile-time catalog of cross-runtime user flows.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Expectation ¶
Expectation identifies a scenario/runtime row required by an aggregate job.
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry validates and owns an explicit scenario catalog.
func NewRegistry ¶
NewRegistry constructs a scenario registry from an explicit catalog.
type Report ¶
type Report struct {
Rows []Row
}
Report contains one row for every scenario in the registry.
func (Report) String ¶
String renders the discovered-scenario report as a stable, line-oriented table suitable for CI logs and artifacts.
func (Report) ValidateExpected ¶
func (r Report) ValidateExpected(expected []Expectation) error
ValidateExpected fails when an aggregate-required row is absent, unselected, or failed. SKIP is a valid coverage row when the runtime declares a control unsupported and includes the reason in the report.
type Scenario ¶
type Scenario struct {
Name string
Tags []string
Session runtime.SessionRequirement
Run func(context.Context, runtime.Runtime) error
}
Scenario is one user flow with stable tags for CI slicing.
func DriveScenarios ¶
func DriveScenarios() []Scenario
DriveScenarios returns the Drive scenario catalog in execution order.
type Status ¶
type Status string
Status is the result state for one scenario and runtime pair.
const ( // StatusPass marks a selected scenario that completed successfully. StatusPass Status = "PASS" // StatusFail marks a selected scenario that failed in the runtime. StatusFail Status = "FAIL" // StatusSkip marks a selected scenario that the runtime cannot support. StatusSkip Status = "SKIP" // StatusNotRun marks a scenario that was filtered out by tags. StatusNotRun Status = "NOT RUN" )