Documentation
¶
Index ¶
- Variables
- type CoverageRule
- func (*CoverageRule) Descriptor() ([]byte, []int)deprecated
- func (x *CoverageRule) GetDutCriteria() []*DutCriterion
- func (x *CoverageRule) GetExclusion() *Exclusion
- func (x *CoverageRule) GetName() string
- func (*CoverageRule) ProtoMessage()
- func (x *CoverageRule) ProtoReflect() protoreflect.Message
- func (x *CoverageRule) Reset()
- func (x *CoverageRule) String() string
- type DutCriterion
- func (*DutCriterion) Descriptor() ([]byte, []int)deprecated
- func (x *DutCriterion) GetAttribute() string
- func (x *DutCriterion) GetValues() []string
- func (*DutCriterion) ProtoMessage()
- func (x *DutCriterion) ProtoReflect() protoreflect.Message
- func (x *DutCriterion) Reset()
- func (x *DutCriterion) String() string
- type Exclusion
- func (*Exclusion) Descriptor() ([]byte, []int)deprecated
- func (x *Exclusion) GetAction() Exclusion_Action
- func (x *Exclusion) GetReferences() []string
- func (x *Exclusion) GetType() Exclusion_Type
- func (*Exclusion) ProtoMessage()
- func (x *Exclusion) ProtoReflect() protoreflect.Message
- func (x *Exclusion) Reset()
- func (x *Exclusion) String() string
- type Exclusion_Action
- func (Exclusion_Action) Descriptor() protoreflect.EnumDescriptor
- func (x Exclusion_Action) Enum() *Exclusion_Action
- func (Exclusion_Action) EnumDescriptor() ([]byte, []int)deprecated
- func (x Exclusion_Action) Number() protoreflect.EnumNumber
- func (x Exclusion_Action) String() string
- func (Exclusion_Action) Type() protoreflect.EnumType
- type Exclusion_Type
- func (Exclusion_Type) Descriptor() protoreflect.EnumDescriptor
- func (x Exclusion_Type) Enum() *Exclusion_Type
- func (Exclusion_Type) EnumDescriptor() ([]byte, []int)deprecated
- func (x Exclusion_Type) Number() protoreflect.EnumNumber
- func (x Exclusion_Type) String() string
- func (Exclusion_Type) Type() protoreflect.EnumType
- type Plan
- type Specification
- type Unit
- func (*Unit) Descriptor() ([]byte, []int)deprecated
- func (x *Unit) GetCoverageRules() []*CoverageRule
- func (x *Unit) GetExclusion() *Exclusion
- func (x *Unit) GetName() string
- func (x *Unit) GetSuites() []*Unit_Suite
- func (x *Unit) GetTests() []*Unit_Test
- func (*Unit) ProtoMessage()
- func (x *Unit) ProtoReflect() protoreflect.Message
- func (x *Unit) Reset()
- func (x *Unit) String() string
- type Unit_Suite
- type Unit_Test
Constants ¶
This section is empty.
Variables ¶
var ( Exclusion_Type_name = map[int32]string{ 0: "TYPE_UNSPECIFIED", 1: "PERMANENT", 2: "TEMPORARY_NEW_TEST", 3: "TEMPORARY_PENDING_FIX", 4: "TEMPORARY_NO_LAB_DEVICES_DEPLOYED", 5: "TEMPORARY_INSUFFICIENT_LAB_DEVICES_AVAILABLE", } Exclusion_Type_value = map[string]int32{ "TYPE_UNSPECIFIED": 0, "PERMANENT": 1, "TEMPORARY_NEW_TEST": 2, "TEMPORARY_PENDING_FIX": 3, "TEMPORARY_NO_LAB_DEVICES_DEPLOYED": 4, "TEMPORARY_INSUFFICIENT_LAB_DEVICES_AVAILABLE": 5, } )
Enum value maps for Exclusion_Type.
var ( Exclusion_Action_name = map[int32]string{ 0: "ACTION_UNSPECIFIED", 1: "DO_NOT_SCHEDULE", 2: "MARK_NON_CRITICAL", } Exclusion_Action_value = map[string]int32{ "ACTION_UNSPECIFIED": 0, "DO_NOT_SCHEDULE": 1, "MARK_NON_CRITICAL": 2, } )
Enum value maps for Exclusion_Action.
var File_chromiumos_config_api_test_plan_v1_plan_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type CoverageRule ¶
type CoverageRule struct { // Human friendly name for easier analysis of test coverage rules/criteria. // E.g. kernel:5.4_soc:geminilake_wifi:intel-5600 // Specifically, this helps when generalizing OR criteria (e.g. kernel // versions) Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // These are criteria that must be met. ANDs and ORs. DutCriteria []*DutCriterion `protobuf:"bytes,2,rep,name=dut_criteria,json=dutCriteria,proto3" json:"dut_criteria,omitempty"` // Optional exclusion that applies to only to the given dut coverage criteria. // E.g. If a specific device was failing the wifi test suite. Exclusion *Exclusion `protobuf:"bytes,4,opt,name=exclusion,proto3" json:"exclusion,omitempty"` // contains filtered or unexported fields }
func (*CoverageRule) Descriptor
deprecated
func (*CoverageRule) Descriptor() ([]byte, []int)
Deprecated: Use CoverageRule.ProtoReflect.Descriptor instead.
func (*CoverageRule) GetDutCriteria ¶
func (x *CoverageRule) GetDutCriteria() []*DutCriterion
func (*CoverageRule) GetExclusion ¶
func (x *CoverageRule) GetExclusion() *Exclusion
func (*CoverageRule) GetName ¶
func (x *CoverageRule) GetName() string
func (*CoverageRule) ProtoMessage ¶
func (*CoverageRule) ProtoMessage()
func (*CoverageRule) ProtoReflect ¶
func (x *CoverageRule) ProtoReflect() protoreflect.Message
func (*CoverageRule) Reset ¶
func (x *CoverageRule) Reset()
func (*CoverageRule) String ¶
func (x *CoverageRule) String() string
type DutCriterion ¶
type DutCriterion struct { // String encoded path to the attribute from DeviceUnderTest Attribute string `protobuf:"bytes,1,opt,name=attribute,proto3" json:"attribute,omitempty"` // String encoded values, where enums are encoded as their name (not value) // Setting multiple values here treats this as an OR clause wrt matching. // This gives freedom to the scheduling system to find devices with the most // available idle capacity that match one of these values. Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` // contains filtered or unexported fields }
Defines the device rule that must be met in for a given set of tests. Examples: attribute='hw_components.soc.family.arch', value=['X86']
func (*DutCriterion) Descriptor
deprecated
func (*DutCriterion) Descriptor() ([]byte, []int)
Deprecated: Use DutCriterion.ProtoReflect.Descriptor instead.
func (*DutCriterion) GetAttribute ¶
func (x *DutCriterion) GetAttribute() string
func (*DutCriterion) GetValues ¶
func (x *DutCriterion) GetValues() []string
func (*DutCriterion) ProtoMessage ¶
func (*DutCriterion) ProtoMessage()
func (*DutCriterion) ProtoReflect ¶
func (x *DutCriterion) ProtoReflect() protoreflect.Message
func (*DutCriterion) Reset ¶
func (x *DutCriterion) Reset()
func (*DutCriterion) String ¶
func (x *DutCriterion) String() string
type Exclusion ¶
type Exclusion struct { // Required. Type Exclusion_Type `protobuf:"varint,1,opt,name=type,proto3,enum=chromiumos.config.api.test.plan.v1.Exclusion_Type" json:"type,omitempty"` Action Exclusion_Action `protobuf:"varint,5,opt,name=action,proto3,enum=chromiumos.config.api.test.plan.v1.Exclusion_Action" json:"action,omitempty"` // External references useful for archeology for this exclusion. // // PERMANENT exclusions MUST add references for the decision to make the // exclusion PERMANENT. // // References should be links with more context behind the decision. // Suggested forms: // * Monorail bug: https://bugs.chromium.org/p/chromium/issues/detail?id=XXX // * Buganizer bug: https://b.corp.google.com/issues/XXX References []string `protobuf:"bytes,4,rep,name=references,proto3" json:"references,omitempty"` // contains filtered or unexported fields }
Exclusion is used to record exceptions to the test plan specification for devices that are known to cause test failures for some temporary or permanent reasons.
func (*Exclusion) Descriptor
deprecated
func (*Exclusion) GetAction ¶
func (x *Exclusion) GetAction() Exclusion_Action
func (*Exclusion) GetReferences ¶
func (*Exclusion) GetType ¶
func (x *Exclusion) GetType() Exclusion_Type
func (*Exclusion) ProtoMessage ¶
func (*Exclusion) ProtoMessage()
func (*Exclusion) ProtoReflect ¶
func (x *Exclusion) ProtoReflect() protoreflect.Message
type Exclusion_Action ¶
type Exclusion_Action int32
const ( // Specify no action. // // The Test Lab Environment may choose any of the available actions based // on internal heuristics. // // The default Action is a good default if none of the considersations for // the specific actions below apply. Exclusion_ACTION_UNSPECIFIED Exclusion_Action = 0 // Do not schedule the selected Tests on specified Devices Under Test. // // It is especially useful to set this Action for permanent exceptions as it // is definitely not useful to run the Tests at all in those cases. Exclusion_DO_NOT_SCHEDULE Exclusion_Action = 1 // Schedule the Test on Devices Under Test as required by the test plan // unit, but mark the results for selected tests on the specified Devices // Under Test as non-critical. Results marked non-critical are intended to // be ignored by result consumers (e.g, presubmit system should consider the // result irrelevant for validatting a Chrome OS build). // // This action does not guarantee that results for the selected (Test, // Device Under Test) pairs are always available because that depends no how // the test plan Unit is interpreted overall. When this action is set, the // Test Lab Environment SHOULD NOT make any special effort to include / // exclude the selected (Test, Device Under Test) pairs. // // It is useful to set this Action for temporary exclusions where the // results generated from test execution can be uesd to root cause and fix // the underlying issues. Exclusion_MARK_NON_CRITICAL Exclusion_Action = 2 )
func (Exclusion_Action) Descriptor ¶
func (Exclusion_Action) Descriptor() protoreflect.EnumDescriptor
func (Exclusion_Action) Enum ¶
func (x Exclusion_Action) Enum() *Exclusion_Action
func (Exclusion_Action) EnumDescriptor
deprecated
func (Exclusion_Action) EnumDescriptor() ([]byte, []int)
Deprecated: Use Exclusion_Action.Descriptor instead.
func (Exclusion_Action) Number ¶
func (x Exclusion_Action) Number() protoreflect.EnumNumber
func (Exclusion_Action) String ¶
func (x Exclusion_Action) String() string
func (Exclusion_Action) Type ¶
func (Exclusion_Action) Type() protoreflect.EnumType
type Exclusion_Type ¶
type Exclusion_Type int32
const ( // Do not use. Exclusion_TYPE_UNSPECIFIED Exclusion_Type = 0 // There are no active plans to remove these exclusions becuase it is // prohibitive to fix the issue or business needs do not justify the effort // to fix the issue. // // Each PERMANENT exclusion MUST include references that point to a business // justification for its addition. Exclusion_PERMANENT Exclusion_Type = 1 // Use for excluding new tests from running on devices where the test has // not yet been stabilized. The intention is to support incremental rollout // of new tests. // // These exclsusion are temporary. These exclusions SHOULD be routinely // audited and resolved or promoted to PERMANENT exclusions. Exclusion_TEMPORARY_NEW_TEST Exclusion_Type = 2 // Use for excluding broken / flakey tests while a fix is being worked on. // // These exclsusion are temporary. These exclusions SHOULD be routinely // audited and resolved or promoted to PERMANENT exclusions. Exclusion_TEMPORARY_PENDING_FIX Exclusion_Type = 3 // No lab devices are deployed matching the coverage rule DUT criteria. Exclusion_TEMPORARY_NO_LAB_DEVICES_DEPLOYED Exclusion_Type = 4 // Insufficient lab devices available to run the coverage rule. Exclusion_TEMPORARY_INSUFFICIENT_LAB_DEVICES_AVAILABLE Exclusion_Type = 5 )
func (Exclusion_Type) Descriptor ¶
func (Exclusion_Type) Descriptor() protoreflect.EnumDescriptor
func (Exclusion_Type) Enum ¶
func (x Exclusion_Type) Enum() *Exclusion_Type
func (Exclusion_Type) EnumDescriptor
deprecated
func (Exclusion_Type) EnumDescriptor() ([]byte, []int)
Deprecated: Use Exclusion_Type.Descriptor instead.
func (Exclusion_Type) Number ¶
func (x Exclusion_Type) Number() protoreflect.EnumNumber
func (Exclusion_Type) String ¶
func (x Exclusion_Type) String() string
func (Exclusion_Type) Type ¶
func (Exclusion_Type) Type() protoreflect.EnumType
type Plan ¶
type Plan struct { // A globally unique test plan name. // // MUST be valid resource name per https://aip.dev/122. // // Pattern: plans/{plan} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Each test plan unit specifies a particular set of tests to be run to meet // specific conditions. Units []*Unit `protobuf:"bytes,2,rep,name=units,proto3" json:"units,omitempty"` // contains filtered or unexported fields }
A Plan fully specifies a Test Platform end-user's coverage needs.
Plans SHOULD associate platform software and Device Under Test condition coverage rules with tests that exercise those components. Plans MUST be used in the Test Platform request API. Other Test Lab Environments may use plans to ease interoperation with the Test Platform.
func (*Plan) Descriptor
deprecated
func (*Plan) ProtoMessage ¶
func (*Plan) ProtoMessage()
func (*Plan) ProtoReflect ¶
func (x *Plan) ProtoReflect() protoreflect.Message
type Specification ¶
type Specification struct { Plans []*Plan `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"` // contains filtered or unexported fields }
A set of known test plans.
In practice, a complete specification of all known plans may consist of multiple Specification instances. In that case the plan names MUST be unique across different Specification instances.
func (*Specification) Descriptor
deprecated
func (*Specification) Descriptor() ([]byte, []int)
Deprecated: Use Specification.ProtoReflect.Descriptor instead.
func (*Specification) GetPlans ¶
func (x *Specification) GetPlans() []*Plan
func (*Specification) ProtoMessage ¶
func (*Specification) ProtoMessage()
func (*Specification) ProtoReflect ¶
func (x *Specification) ProtoReflect() protoreflect.Message
func (*Specification) Reset ¶
func (x *Specification) Reset()
func (*Specification) String ¶
func (x *Specification) String() string
type Unit ¶
type Unit struct { // A globally unique test plan unit name. // // MUST be valid resource name per https://aip.dev/122. // // Pattern: plans/{plan}/units/{unit} // where {plan} is the parent Plan of this Unit. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Defines the tests that are included. Suites []*Unit_Suite `protobuf:"bytes,2,rep,name=suites,proto3" json:"suites,omitempty"` Tests []*Unit_Test `protobuf:"bytes,3,rep,name=tests,proto3" json:"tests,omitempty"` // Defines all of the coverage rules that need to be executed // for the given tests. // Separate test results will be generated for each distinct coverage rule. CoverageRules []*CoverageRule `protobuf:"bytes,4,rep,name=coverage_rules,json=coverageRules,proto3" json:"coverage_rules,omitempty"` // Optional exclusion that applies to tests in the given unit. // E.g. If the test itself was bad, regardless of the device tested // against. Exclusion *Exclusion `protobuf:"bytes,5,opt,name=exclusion,proto3" json:"exclusion,omitempty"` // contains filtered or unexported fields }
Specifies a particular set of tests to be run for a given set of coverage rules.
func (*Unit) Descriptor
deprecated
func (*Unit) GetCoverageRules ¶
func (x *Unit) GetCoverageRules() []*CoverageRule
func (*Unit) GetExclusion ¶
func (*Unit) GetSuites ¶
func (x *Unit) GetSuites() []*Unit_Suite
func (*Unit) ProtoMessage ¶
func (*Unit) ProtoMessage()
func (*Unit) ProtoReflect ¶
func (x *Unit) ProtoReflect() protoreflect.Message
type Unit_Suite ¶
type Unit_Suite struct { // Name of the test suite to be executed Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // contains filtered or unexported fields }
func (*Unit_Suite) Descriptor
deprecated
func (*Unit_Suite) Descriptor() ([]byte, []int)
Deprecated: Use Unit_Suite.ProtoReflect.Descriptor instead.
func (*Unit_Suite) GetName ¶
func (x *Unit_Suite) GetName() string
func (*Unit_Suite) ProtoMessage ¶
func (*Unit_Suite) ProtoMessage()
func (*Unit_Suite) ProtoReflect ¶
func (x *Unit_Suite) ProtoReflect() protoreflect.Message
func (*Unit_Suite) Reset ¶
func (x *Unit_Suite) Reset()
func (*Unit_Suite) String ¶
func (x *Unit_Suite) String() string
type Unit_Test ¶
type Unit_Test struct { // Name of the test as specified in test.metadata.Test.name Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The test attribute name as specified in the test.metadata.Attribute.name // // attributes are populated from test.metadata.Test.attributes. Attributes []string `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty"` // contains filtered or unexported fields }
func (*Unit_Test) Descriptor
deprecated
func (*Unit_Test) GetAttributes ¶
func (*Unit_Test) ProtoMessage ¶
func (*Unit_Test) ProtoMessage()
func (*Unit_Test) ProtoReflect ¶
func (x *Unit_Test) ProtoReflect() protoreflect.Message