config: go.chromium.org/chromiumos/config/go/api/test/plan/v1 Index | Files

package plan

import "go.chromium.org/chromiumos/config/go/api/test/plan/v1"

Index

Package Files

plan.pb.go

Variables

var Exclusion_Action_name = map[int32]string{
    0:  "ACTION_UNSPECIFIED",
    1:  "DO_NOT_SCHEDULE",
    2:  "MARK_NON_CRITICAL",
}
var Exclusion_Action_value = map[string]int32{
    "ACTION_UNSPECIFIED": 0,
    "DO_NOT_SCHEDULE":    1,
    "MARK_NON_CRITICAL":  2,
}
var Exclusion_Type_name = map[int32]string{
    0:  "TYPE_UNSPECIFIED",
    1:  "PERMANENT",
    2:  "TEMPORARY_NEW_TEST",
    3:  "TEMPORARY_PENDING_FIX",
}
var Exclusion_Type_value = map[string]int32{
    "TYPE_UNSPECIFIED":      0,
    "PERMANENT":             1,
    "TEMPORARY_NEW_TEST":    2,
    "TEMPORARY_PENDING_FIX": 3,
}

type CoverageRule Uses

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"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
}

func (*CoverageRule) Descriptor Uses

func (*CoverageRule) Descriptor() ([]byte, []int)

func (*CoverageRule) GetDutCriteria Uses

func (m *CoverageRule) GetDutCriteria() []*DutCriterion

func (*CoverageRule) GetExclusion Uses

func (m *CoverageRule) GetExclusion() *Exclusion

func (*CoverageRule) GetName Uses

func (m *CoverageRule) GetName() string

func (*CoverageRule) ProtoMessage Uses

func (*CoverageRule) ProtoMessage()

func (*CoverageRule) Reset Uses

func (m *CoverageRule) Reset()

func (*CoverageRule) String Uses

func (m *CoverageRule) String() string

func (*CoverageRule) XXX_DiscardUnknown Uses

func (m *CoverageRule) XXX_DiscardUnknown()

func (*CoverageRule) XXX_Marshal Uses

func (m *CoverageRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CoverageRule) XXX_Merge Uses

func (m *CoverageRule) XXX_Merge(src proto.Message)

func (*CoverageRule) XXX_Size Uses

func (m *CoverageRule) XXX_Size() int

func (*CoverageRule) XXX_Unmarshal Uses

func (m *CoverageRule) XXX_Unmarshal(b []byte) error

type DutCriterion Uses

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"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

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 Uses

func (*DutCriterion) Descriptor() ([]byte, []int)

func (*DutCriterion) GetAttribute Uses

func (m *DutCriterion) GetAttribute() string

func (*DutCriterion) GetValues Uses

func (m *DutCriterion) GetValues() []string

func (*DutCriterion) ProtoMessage Uses

func (*DutCriterion) ProtoMessage()

func (*DutCriterion) Reset Uses

func (m *DutCriterion) Reset()

func (*DutCriterion) String Uses

func (m *DutCriterion) String() string

func (*DutCriterion) XXX_DiscardUnknown Uses

func (m *DutCriterion) XXX_DiscardUnknown()

func (*DutCriterion) XXX_Marshal Uses

func (m *DutCriterion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DutCriterion) XXX_Merge Uses

func (m *DutCriterion) XXX_Merge(src proto.Message)

func (*DutCriterion) XXX_Size Uses

func (m *DutCriterion) XXX_Size() int

func (*DutCriterion) XXX_Unmarshal Uses

func (m *DutCriterion) XXX_Unmarshal(b []byte) error

type Exclusion Uses

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"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

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 Uses

func (*Exclusion) Descriptor() ([]byte, []int)

func (*Exclusion) GetAction Uses

func (m *Exclusion) GetAction() Exclusion_Action

func (*Exclusion) GetReferences Uses

func (m *Exclusion) GetReferences() []string

func (*Exclusion) GetType Uses

func (m *Exclusion) GetType() Exclusion_Type

func (*Exclusion) ProtoMessage Uses

func (*Exclusion) ProtoMessage()

func (*Exclusion) Reset Uses

func (m *Exclusion) Reset()

func (*Exclusion) String Uses

func (m *Exclusion) String() string

func (*Exclusion) XXX_DiscardUnknown Uses

func (m *Exclusion) XXX_DiscardUnknown()

func (*Exclusion) XXX_Marshal Uses

func (m *Exclusion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Exclusion) XXX_Merge Uses

func (m *Exclusion) XXX_Merge(src proto.Message)

func (*Exclusion) XXX_Size Uses

func (m *Exclusion) XXX_Size() int

func (*Exclusion) XXX_Unmarshal Uses

func (m *Exclusion) XXX_Unmarshal(b []byte) error

type Exclusion_Action Uses

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) EnumDescriptor Uses

func (Exclusion_Action) EnumDescriptor() ([]byte, []int)

func (Exclusion_Action) String Uses

func (x Exclusion_Action) String() string

type Exclusion_Type Uses

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
)

func (Exclusion_Type) EnumDescriptor Uses

func (Exclusion_Type) EnumDescriptor() ([]byte, []int)

func (Exclusion_Type) String Uses

func (x Exclusion_Type) String() string

type Plan Uses

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"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

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 Uses

func (*Plan) Descriptor() ([]byte, []int)

func (*Plan) GetName Uses

func (m *Plan) GetName() string

func (*Plan) GetUnits Uses

func (m *Plan) GetUnits() []*Unit

func (*Plan) ProtoMessage Uses

func (*Plan) ProtoMessage()

func (*Plan) Reset Uses

func (m *Plan) Reset()

func (*Plan) String Uses

func (m *Plan) String() string

func (*Plan) XXX_DiscardUnknown Uses

func (m *Plan) XXX_DiscardUnknown()

func (*Plan) XXX_Marshal Uses

func (m *Plan) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Plan) XXX_Merge Uses

func (m *Plan) XXX_Merge(src proto.Message)

func (*Plan) XXX_Size Uses

func (m *Plan) XXX_Size() int

func (*Plan) XXX_Unmarshal Uses

func (m *Plan) XXX_Unmarshal(b []byte) error

type Specification Uses

type Specification struct {
    Plans                []*Plan  `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

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 Uses

func (*Specification) Descriptor() ([]byte, []int)

func (*Specification) GetPlans Uses

func (m *Specification) GetPlans() []*Plan

func (*Specification) ProtoMessage Uses

func (*Specification) ProtoMessage()

func (*Specification) Reset Uses

func (m *Specification) Reset()

func (*Specification) String Uses

func (m *Specification) String() string

func (*Specification) XXX_DiscardUnknown Uses

func (m *Specification) XXX_DiscardUnknown()

func (*Specification) XXX_Marshal Uses

func (m *Specification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Specification) XXX_Merge Uses

func (m *Specification) XXX_Merge(src proto.Message)

func (*Specification) XXX_Size Uses

func (m *Specification) XXX_Size() int

func (*Specification) XXX_Unmarshal Uses

func (m *Specification) XXX_Unmarshal(b []byte) error

type Unit Uses

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"`
    XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    XXX_unrecognized     []byte     `json:"-"`
    XXX_sizecache        int32      `json:"-"`
}

Specifies a particular set of tests to be run for a given set of coverage rules.

func (*Unit) Descriptor Uses

func (*Unit) Descriptor() ([]byte, []int)

func (*Unit) GetCoverageRules Uses

func (m *Unit) GetCoverageRules() []*CoverageRule

func (*Unit) GetExclusion Uses

func (m *Unit) GetExclusion() *Exclusion

func (*Unit) GetName Uses

func (m *Unit) GetName() string

func (*Unit) GetSuites Uses

func (m *Unit) GetSuites() []*Unit_Suite

func (*Unit) GetTests Uses

func (m *Unit) GetTests() []*Unit_Test

func (*Unit) ProtoMessage Uses

func (*Unit) ProtoMessage()

func (*Unit) Reset Uses

func (m *Unit) Reset()

func (*Unit) String Uses

func (m *Unit) String() string

func (*Unit) XXX_DiscardUnknown Uses

func (m *Unit) XXX_DiscardUnknown()

func (*Unit) XXX_Marshal Uses

func (m *Unit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Unit) XXX_Merge Uses

func (m *Unit) XXX_Merge(src proto.Message)

func (*Unit) XXX_Size Uses

func (m *Unit) XXX_Size() int

func (*Unit) XXX_Unmarshal Uses

func (m *Unit) XXX_Unmarshal(b []byte) error

type Unit_Suite Uses

type Unit_Suite struct {
    // Name of the test suite to be executed
    Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Unit_Suite) Descriptor Uses

func (*Unit_Suite) Descriptor() ([]byte, []int)

func (*Unit_Suite) GetName Uses

func (m *Unit_Suite) GetName() string

func (*Unit_Suite) ProtoMessage Uses

func (*Unit_Suite) ProtoMessage()

func (*Unit_Suite) Reset Uses

func (m *Unit_Suite) Reset()

func (*Unit_Suite) String Uses

func (m *Unit_Suite) String() string

func (*Unit_Suite) XXX_DiscardUnknown Uses

func (m *Unit_Suite) XXX_DiscardUnknown()

func (*Unit_Suite) XXX_Marshal Uses

func (m *Unit_Suite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Unit_Suite) XXX_Merge Uses

func (m *Unit_Suite) XXX_Merge(src proto.Message)

func (*Unit_Suite) XXX_Size Uses

func (m *Unit_Suite) XXX_Size() int

func (*Unit_Suite) XXX_Unmarshal Uses

func (m *Unit_Suite) XXX_Unmarshal(b []byte) error

type Unit_Test Uses

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"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Unit_Test) Descriptor Uses

func (*Unit_Test) Descriptor() ([]byte, []int)

func (*Unit_Test) GetAttributes Uses

func (m *Unit_Test) GetAttributes() []string

func (*Unit_Test) GetName Uses

func (m *Unit_Test) GetName() string

func (*Unit_Test) ProtoMessage Uses

func (*Unit_Test) ProtoMessage()

func (*Unit_Test) Reset Uses

func (m *Unit_Test) Reset()

func (*Unit_Test) String Uses

func (m *Unit_Test) String() string

func (*Unit_Test) XXX_DiscardUnknown Uses

func (m *Unit_Test) XXX_DiscardUnknown()

func (*Unit_Test) XXX_Marshal Uses

func (m *Unit_Test) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Unit_Test) XXX_Merge Uses

func (m *Unit_Test) XXX_Merge(src proto.Message)

func (*Unit_Test) XXX_Size Uses

func (m *Unit_Test) XXX_Size() int

func (*Unit_Test) XXX_Unmarshal Uses

func (m *Unit_Test) XXX_Unmarshal(b []byte) error

Package plan imports 3 packages (graph) and is imported by 1 packages. Updated 2020-12-03. Refresh now. Tools for package owners.