plan

package
v0.0.0-...-b8a1838 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2024 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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.

View Source
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.

View Source
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) Descriptor() ([]byte, []int)

Deprecated: Use Exclusion.ProtoReflect.Descriptor instead.

func (*Exclusion) GetAction

func (x *Exclusion) GetAction() Exclusion_Action

func (*Exclusion) GetReferences

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

func (*Exclusion) GetType

func (x *Exclusion) GetType() Exclusion_Type

func (*Exclusion) ProtoMessage

func (*Exclusion) ProtoMessage()

func (*Exclusion) ProtoReflect

func (x *Exclusion) ProtoReflect() protoreflect.Message

func (*Exclusion) Reset

func (x *Exclusion) Reset()

func (*Exclusion) String

func (x *Exclusion) String() string

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) Enum

func (Exclusion_Action) EnumDescriptor deprecated

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

Deprecated: Use Exclusion_Action.Descriptor instead.

func (Exclusion_Action) Number

func (Exclusion_Action) String

func (x Exclusion_Action) String() string

func (Exclusion_Action) Type

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) 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 (Exclusion_Type) String

func (x Exclusion_Type) String() string

func (Exclusion_Type) Type

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) Descriptor() ([]byte, []int)

Deprecated: Use Plan.ProtoReflect.Descriptor instead.

func (*Plan) GetName

func (x *Plan) GetName() string

func (*Plan) GetUnits

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

func (*Plan) ProtoMessage

func (*Plan) ProtoMessage()

func (*Plan) ProtoReflect

func (x *Plan) ProtoReflect() protoreflect.Message

func (*Plan) Reset

func (x *Plan) Reset()

func (*Plan) String

func (x *Plan) String() string

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) Descriptor() ([]byte, []int)

Deprecated: Use Unit.ProtoReflect.Descriptor instead.

func (*Unit) GetCoverageRules

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

func (*Unit) GetExclusion

func (x *Unit) GetExclusion() *Exclusion

func (*Unit) GetName

func (x *Unit) GetName() string

func (*Unit) GetSuites

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

func (*Unit) GetTests

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

func (*Unit) ProtoMessage

func (*Unit) ProtoMessage()

func (*Unit) ProtoReflect

func (x *Unit) ProtoReflect() protoreflect.Message

func (*Unit) Reset

func (x *Unit) Reset()

func (*Unit) String

func (x *Unit) String() string

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) Descriptor() ([]byte, []int)

Deprecated: Use Unit_Test.ProtoReflect.Descriptor instead.

func (*Unit_Test) GetAttributes

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

func (*Unit_Test) GetName

func (x *Unit_Test) GetName() string

func (*Unit_Test) ProtoMessage

func (*Unit_Test) ProtoMessage()

func (*Unit_Test) ProtoReflect

func (x *Unit_Test) ProtoReflect() protoreflect.Message

func (*Unit_Test) Reset

func (x *Unit_Test) Reset()

func (*Unit_Test) String

func (x *Unit_Test) String() string

Jump to

Keyboard shortcuts

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