Documentation
¶
Index ¶
- Variables
- type Attribute
- type Contact
- func (*Contact) Descriptor() ([]byte, []int)deprecated
- func (x *Contact) GetEmail() string
- func (x *Contact) GetMdbGroup() string
- func (m *Contact) GetType() isContact_Type
- func (*Contact) ProtoMessage()
- func (x *Contact) ProtoReflect() protoreflect.Message
- func (x *Contact) Reset()
- func (x *Contact) String() string
- type Contact_Email
- type Contact_MdbGroup
- type DUTCondition
- type DUTCondition_Scope
- func (*DUTCondition_Scope) Descriptor() ([]byte, []int)deprecated
- func (x *DUTCondition_Scope) GetHardwareFeatures() *api.HardwareFeatures
- func (x *DUTCondition_Scope) GetHardwareTopology() *api.HardwareTopology
- func (x *DUTCondition_Scope) GetSetup() *v1.DeviceUnderTest
- func (*DUTCondition_Scope) ProtoMessage()
- func (x *DUTCondition_Scope) ProtoReflect() protoreflect.Message
- func (x *DUTCondition_Scope) Reset()
- func (x *DUTCondition_Scope) String() string
- type DUTConfigConstraint
- func (*DUTConfigConstraint) Descriptor() ([]byte, []int)deprecated
- func (x *DUTConfigConstraint) GetExpression() string
- func (*DUTConfigConstraint) ProtoMessage()
- func (x *DUTConfigConstraint) ProtoReflect() protoreflect.Message
- func (x *DUTConfigConstraint) Reset()
- func (x *DUTConfigConstraint) String() string
- type DUTConfigConstraint_DUT
- func (*DUTConfigConstraint_DUT) Descriptor() ([]byte, []int)deprecated
- func (x *DUTConfigConstraint_DUT) GetHardwareFeatures() *api.HardwareFeatures
- func (*DUTConfigConstraint_DUT) ProtoMessage()
- func (x *DUTConfigConstraint_DUT) ProtoReflect() protoreflect.Message
- func (x *DUTConfigConstraint_DUT) Reset()
- func (x *DUTConfigConstraint_DUT) String() string
- type DUTConstraint
- func (*DUTConstraint) Descriptor() ([]byte, []int)deprecated
- func (x *DUTConstraint) GetConfig() *DUTConfigConstraint
- func (x *DUTConstraint) GetSetup() *DUTSetupConstraint
- func (*DUTConstraint) ProtoMessage()
- func (x *DUTConstraint) ProtoReflect() protoreflect.Message
- func (x *DUTConstraint) Reset()
- func (x *DUTConstraint) String() string
- type DUTSetupConstraint
- func (*DUTSetupConstraint) Descriptor() ([]byte, []int)deprecated
- func (x *DUTSetupConstraint) GetExpression() string
- func (*DUTSetupConstraint) ProtoMessage()
- func (x *DUTSetupConstraint) ProtoReflect() protoreflect.Message
- func (x *DUTSetupConstraint) Reset()
- func (x *DUTSetupConstraint) String() string
- type DUTSetupConstraint_DUT
- func (*DUTSetupConstraint_DUT) Descriptor() ([]byte, []int)deprecated
- func (x *DUTSetupConstraint_DUT) GetSetup() *v1.DeviceUnderTest
- func (*DUTSetupConstraint_DUT) ProtoMessage()
- func (x *DUTSetupConstraint_DUT) ProtoReflect() protoreflect.Message
- func (x *DUTSetupConstraint_DUT) Reset()
- func (x *DUTSetupConstraint_DUT) String() string
- type DockerImage
- type Informational
- func (*Informational) Descriptor() ([]byte, []int)deprecated
- func (x *Informational) GetAuthors() []*Contact
- func (x *Informational) GetDetails() *structpb.Struct
- func (*Informational) ProtoMessage()
- func (x *Informational) ProtoReflect() protoreflect.Message
- func (x *Informational) Reset()
- func (x *Informational) String() string
- type RemoteTestDriver
- func (*RemoteTestDriver) Descriptor() ([]byte, []int)deprecated
- func (x *RemoteTestDriver) GetCommand() string
- func (x *RemoteTestDriver) GetDockerImage() *DockerImage
- func (x *RemoteTestDriver) GetName() string
- func (x *RemoteTestDriver) GetTests() []*Test
- func (*RemoteTestDriver) ProtoMessage()
- func (x *RemoteTestDriver) ProtoReflect() protoreflect.Message
- func (x *RemoteTestDriver) Reset()
- func (x *RemoteTestDriver) String() string
- type Specification
- type Test
- func (*Test) Descriptor() ([]byte, []int)deprecated
- func (x *Test) GetAttributes() []*Attribute
- func (x *Test) GetDutCondition() *DUTConditiondeprecated
- func (x *Test) GetDutConstraint() *DUTConstraint
- func (x *Test) GetInformational() *Informational
- func (x *Test) GetName() string
- func (*Test) ProtoMessage()
- func (x *Test) ProtoReflect() protoreflect.Message
- func (x *Test) Reset()
- func (x *Test) String() string
Constants ¶
This section is empty.
Variables ¶
var File_chromiumos_config_api_test_metadata_v1_metadata_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type Attribute ¶
type Attribute struct {
// Opaque name for this attribute.
//
// Value MUST be valid resource names per https://aip.dev/122.
//
// MUST NOT be interpreted by Test Lab Environments.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}
Attributes used to include tests in test plans.
func (*Attribute) Descriptor
deprecated
func (*Attribute) ProtoMessage ¶
func (*Attribute) ProtoMessage()
func (*Attribute) ProtoReflect ¶
func (x *Attribute) ProtoReflect() protoreflect.Message
type Contact ¶
type Contact struct {
// Types that are assignable to Type:
// *Contact_Email
// *Contact_MdbGroup
Type isContact_Type `protobuf_oneof:"type"`
// contains filtered or unexported fields
}
Contact information of individuals or teams.
func (*Contact) Descriptor
deprecated
func (*Contact) GetMdbGroup ¶
func (*Contact) ProtoMessage ¶
func (*Contact) ProtoMessage()
func (*Contact) ProtoReflect ¶
func (x *Contact) ProtoReflect() protoreflect.Message
type Contact_Email ¶
type Contact_Email struct {
// e.g.: user@google.com
Email string `protobuf:"bytes,1,opt,name=email,proto3,oneof"`
}
type Contact_MdbGroup ¶
type Contact_MdbGroup struct {
// e.g.: team-name (not mdb/team-name)
MdbGroup string `protobuf:"bytes,2,opt,name=mdb_group,json=mdbGroup,proto3,oneof"`
}
type DUTCondition ¶
type DUTCondition struct {
Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"`
// contains filtered or unexported fields
}
Deprecated. Use DutConstraint instead. This message will be deleted once all clients have migrated.
func (*DUTCondition) Descriptor
deprecated
func (*DUTCondition) Descriptor() ([]byte, []int)
Deprecated: Use DUTCondition.ProtoReflect.Descriptor instead.
func (*DUTCondition) GetExpression ¶
func (x *DUTCondition) GetExpression() string
func (*DUTCondition) ProtoMessage ¶
func (*DUTCondition) ProtoMessage()
func (*DUTCondition) ProtoReflect ¶
func (x *DUTCondition) ProtoReflect() protoreflect.Message
func (*DUTCondition) Reset ¶
func (x *DUTCondition) Reset()
func (*DUTCondition) String ¶
func (x *DUTCondition) String() string
type DUTCondition_Scope ¶
type DUTCondition_Scope struct {
Setup *v1.DeviceUnderTest `protobuf:"bytes,1,opt,name=setup,proto3" json:"setup,omitempty"`
HardwareTopology *api.HardwareTopology `protobuf:"bytes,2,opt,name=hardware_topology,json=hardwareTopology,proto3" json:"hardware_topology,omitempty"`
HardwareFeatures *api.HardwareFeatures `protobuf:"bytes,3,opt,name=hardware_features,json=hardwareFeatures,proto3" json:"hardware_features,omitempty"`
// contains filtered or unexported fields
}
func (*DUTCondition_Scope) Descriptor
deprecated
func (*DUTCondition_Scope) Descriptor() ([]byte, []int)
Deprecated: Use DUTCondition_Scope.ProtoReflect.Descriptor instead.
func (*DUTCondition_Scope) GetHardwareFeatures ¶
func (x *DUTCondition_Scope) GetHardwareFeatures() *api.HardwareFeatures
func (*DUTCondition_Scope) GetHardwareTopology ¶
func (x *DUTCondition_Scope) GetHardwareTopology() *api.HardwareTopology
func (*DUTCondition_Scope) GetSetup ¶
func (x *DUTCondition_Scope) GetSetup() *v1.DeviceUnderTest
func (*DUTCondition_Scope) ProtoMessage ¶
func (*DUTCondition_Scope) ProtoMessage()
func (*DUTCondition_Scope) ProtoReflect ¶
func (x *DUTCondition_Scope) ProtoReflect() protoreflect.Message
func (*DUTCondition_Scope) Reset ¶
func (x *DUTCondition_Scope) Reset()
func (*DUTCondition_Scope) String ¶
func (x *DUTCondition_Scope) String() string
type DUTConfigConstraint ¶
type DUTConfigConstraint struct {
// A Common Expression Language (CEL) expression to specify constraints on a
// Device Under Test's Chrome OS configuration payload. `expression` MUST
// evaluate to a boolean value in the evaluation context described below.
//
// Test Lab Environments may optionally support scheduling test requests on
// Devices Under Test that satisfy some constraints on their Chrome OS
// configuration.
// When supported, the Test Lab Environment MUST effectively evaluate
// `expression` with the following declarations in scope for each available
// Device Under Test and ensure that the test is scheduled on a Device Under
// Test for which `expression` evaluates to true.
//
// - Constant: `dut` of type DUTConfigConstraint.DUT defined below, set to the
// Chrome OS configuration payload of a particular Device Under Test.
// - Types: Protobuf messages from `chromiumos.config.api.*`
// - Additionally available with the short-hand `api.*`
//
// ## Examples
//
// Typical examples of expressions are:
//
// - Must run on a device with a given screen size:
// dut.hardware_features.screen.milliinch.value == 14000
// - Must run on a device with LTE support:
// dut.hardware_features.lte == api.HardwareFeatures.Present.PRESENT
// - or equivalently,
// (dut.hardware_features.lte ==
// chromiumos.config.api.HardwareFeatures.Present.PRESENT)
// - Must not run on a device with a specific form factor:
// (dut.hardware_features.form_factor.form_factor !=
// api.HardwareFeatures.FormFactor.CLAMSHELL)
//
// ## CEL support
//
// The full CEL spec can be found at https://github.com/google/cel-spec.
//
// Current support for `expression` evaluation is very restricted due to
// limitations in the scheduling infrastructure used by Test Platform.
//
// As this API matures, features will be added to the scheduling
// infrastructure of Test Platform and restrictions here will be lifted based
// on requirements collected from test authors. See milestones in
// go/cros-f20-plan for expected feature iterations. Test Lab Environments
// SHOULD validate the expression and reject use of unsupported features.
//
// TODO(crbug.com/1051689) Add reference to the metadata validator package.
//
// ### Syntax
//
// See full syntax definition at
// https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax
//
// CEL standard syntax allows expressions that evaluate to errors (e.g.,
// syntax allows negation of lists, which has no semantics in CEL).
// Thus, this spec does not attempt to restrict the syntax, but specifies what
// operations are unsupported to aid metadata producers. Ultimately, the
// reference metadata validator is the authority on what expressions are
// allowed.
//
// Unsupported standard CEL semantics:
// - Binary arithmetic operations
// e.g.: +, *, /, % ...
// - Relational Operators beyond (in)equality are not supported.
// e.g.: (>, <, >=, <= ...)
// - Logical OR in expressions is not supported.
// e.g.: (a || b), !(a && b) ...
//
// ### Macros
//
// See full macro definition at
// https://github.com/google/cel-spec/blob/master/doc/langdef.md#macros
//
// Supported macros: has(), e.all()
// Unsupported macros: e.exists(), e.exists_one(), e.map(), e.filter()
//
// ### Standard functions
//
// See full list of standard definitions at
// https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions
//
// Most standard functions are not supported.
//
// - Supported operators: !_, -_, _!=_, _&&_, _=_, _[_]
// - All other operators are not supported.
// - All other standard functions are not supported. In particular:
// - size() is not supported.
// - string functions like endsWith() and contains() are not supported.
// - type conversions like int() and string() are not supported.
// - reflection with type(), null_type() and dyn() is not supported.
Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"`
// contains filtered or unexported fields
}
Conditions to be met for the Chrome OS configuration of each Device Under Test targeted by a test.
func (*DUTConfigConstraint) Descriptor
deprecated
func (*DUTConfigConstraint) Descriptor() ([]byte, []int)
Deprecated: Use DUTConfigConstraint.ProtoReflect.Descriptor instead.
func (*DUTConfigConstraint) GetExpression ¶
func (x *DUTConfigConstraint) GetExpression() string
func (*DUTConfigConstraint) ProtoMessage ¶
func (*DUTConfigConstraint) ProtoMessage()
func (*DUTConfigConstraint) ProtoReflect ¶
func (x *DUTConfigConstraint) ProtoReflect() protoreflect.Message
func (*DUTConfigConstraint) Reset ¶
func (x *DUTConfigConstraint) Reset()
func (*DUTConfigConstraint) String ¶
func (x *DUTConfigConstraint) String() string
type DUTConfigConstraint_DUT ¶
type DUTConfigConstraint_DUT struct {
HardwareFeatures *api.HardwareFeatures `protobuf:"bytes,1,opt,name=hardware_features,json=hardwareFeatures,proto3" json:"hardware_features,omitempty"`
// contains filtered or unexported fields
}
The evaluation context for `expression` MUST include the Chrome OS configuration payload for a particular Device Under Test as a typed constant of the following type.
func (*DUTConfigConstraint_DUT) Descriptor
deprecated
func (*DUTConfigConstraint_DUT) Descriptor() ([]byte, []int)
Deprecated: Use DUTConfigConstraint_DUT.ProtoReflect.Descriptor instead.
func (*DUTConfigConstraint_DUT) GetHardwareFeatures ¶
func (x *DUTConfigConstraint_DUT) GetHardwareFeatures() *api.HardwareFeatures
func (*DUTConfigConstraint_DUT) ProtoMessage ¶
func (*DUTConfigConstraint_DUT) ProtoMessage()
func (*DUTConfigConstraint_DUT) ProtoReflect ¶
func (x *DUTConfigConstraint_DUT) ProtoReflect() protoreflect.Message
func (*DUTConfigConstraint_DUT) Reset ¶
func (x *DUTConfigConstraint_DUT) Reset()
func (*DUTConfigConstraint_DUT) String ¶
func (x *DUTConfigConstraint_DUT) String() string
type DUTConstraint ¶
type DUTConstraint struct {
// Conditions on the Chrome OS configuration payload.
Config *DUTConfigConstraint `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
// Conditions on device setup.
Setup *DUTSetupConstraint `protobuf:"bytes,2,opt,name=setup,proto3" json:"setup,omitempty"`
// contains filtered or unexported fields
}
Conditions to be met for each Device Under Test targeted by a test.
func (*DUTConstraint) Descriptor
deprecated
func (*DUTConstraint) Descriptor() ([]byte, []int)
Deprecated: Use DUTConstraint.ProtoReflect.Descriptor instead.
func (*DUTConstraint) GetConfig ¶
func (x *DUTConstraint) GetConfig() *DUTConfigConstraint
func (*DUTConstraint) GetSetup ¶
func (x *DUTConstraint) GetSetup() *DUTSetupConstraint
func (*DUTConstraint) ProtoMessage ¶
func (*DUTConstraint) ProtoMessage()
func (*DUTConstraint) ProtoReflect ¶
func (x *DUTConstraint) ProtoReflect() protoreflect.Message
func (*DUTConstraint) Reset ¶
func (x *DUTConstraint) Reset()
func (*DUTConstraint) String ¶
func (x *DUTConstraint) String() string
type DUTSetupConstraint ¶
type DUTSetupConstraint struct {
// A Common Expression Language (CEL) expression to specify constraints on a
// Device Under Test setup. `expression` MUST evaluate to a boolean value in
// the evaluation context described below.
//
// Test Lab Environments may optionally support scheduling test requests on
// Devices Under Test that satisfy some constraints on how they are setup.
// When supported, the Test Lab Environment MUST effectively evaluate
// `expression` with the following declarations in scope for each available
// Device Under Test and ensure that the test is scheduled on a Device Under
// Test for which `expression` evaluates to true.
//
// - Constant: `dut` of type DUTSetupConstraint.DUT defined below, set to the
// setup configuration payload of a particular Device Under Test.
// - Type: Protobuf messages `chromiumos.config.api.test.dut.v1.*`, e.g.
// `chromiumos.config.api.test.dut.v1.DeviceUnderTest`
// - Additionally available with short-hands `DeviceUnderTest` etc.
//
// ## Examples
//
// Typical examples of expressions are:
//
// - Must run on a DUT with servo present:
// dut.setup.peripheral.servo.present
// - Must run on a DUT which is in a camera box with a front facing camera:
// dut.setup.peripheral.camerabox.facing == Camerabox.Facing.FRONT
// - Or, equivalently:
// (dut.setup.peripheral.camerabox.facing ==
// chromiumos.config.api.test.dut.v1.Camerabox.Facing.FRONT)
//
// ## CEL support
//
// The full CEL spec can be found at https://github.com/google/cel-spec.
//
// Current support for `expression` evaluation is very restricted due to
// limitations in the scheduling infrastructure used by Test Platform.
//
// As this API matures, features will be added to the scheduling
// infrastructure of Test Platform and restrictions here will be lifted based
// on requirements collected from test authors. See milestones in
// go/cros-f20-plan for expected feature iterations. Test Lab Environments
// SHOULD validate the expression and reject use of unsupported features.
//
// TODO(crbug.com/1051689) Add reference to the metadata validator package.
//
// ### Syntax
//
// See full syntax definition at
// https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax
//
// CEL standard syntax allows expressions that evaluate to errors (e.g.,
// syntax allows negation of lists, which has no semantics in CEL).
// Thus, this spec does not attempt to restrict the syntax, but specifies what
// operations are unsupported to aid metadata producers. Ultimately, the
// reference metadata validator is the authority on what expressions are
// allowed.
//
// Unsupported standard CEL semantics:
// - Binary arithmetic operations
// e.g.: +, *, /, % ...
// - Relational Operators beyond (in)equality are not supported.
// e.g.: (>, <, >=, <= ...)
// - Logical OR in expressions is not supported.
// e.g.: (a || b), !(a && b) ...
//
// ### Macros
//
// See full macro definition at
// https://github.com/google/cel-spec/blob/master/doc/langdef.md#macros
//
// Supported macros: has(), e.all()
// Unsupported macros: e.exists(), e.exists_one(), e.map(), e.filter()
//
// ### Standard functions
//
// See full list of standard definitions at
// https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions
//
// Most standard functions are not supported.
//
// - Supported operators: !_, -_, _!=_, _&&_, _=_, _[_]
// - All other operators are not supported.
// - All other standard functions are not supported. In particular:
// - size() is not supported.
// - string functions like endsWith() and contains() are not supported.
// - type conversions like int() and string() are not supported.
// - reflection with type(), null_type() and dyn() is not supported.
Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"`
// contains filtered or unexported fields
}
Conditions to be met for the setup of each Device Under Test targeted by a test.
func (*DUTSetupConstraint) Descriptor
deprecated
func (*DUTSetupConstraint) Descriptor() ([]byte, []int)
Deprecated: Use DUTSetupConstraint.ProtoReflect.Descriptor instead.
func (*DUTSetupConstraint) GetExpression ¶
func (x *DUTSetupConstraint) GetExpression() string
func (*DUTSetupConstraint) ProtoMessage ¶
func (*DUTSetupConstraint) ProtoMessage()
func (*DUTSetupConstraint) ProtoReflect ¶
func (x *DUTSetupConstraint) ProtoReflect() protoreflect.Message
func (*DUTSetupConstraint) Reset ¶
func (x *DUTSetupConstraint) Reset()
func (*DUTSetupConstraint) String ¶
func (x *DUTSetupConstraint) String() string
type DUTSetupConstraint_DUT ¶
type DUTSetupConstraint_DUT struct {
// Peripherals information about the lab deployment of the device
Setup *v1.DeviceUnderTest `protobuf:"bytes,1,opt,name=setup,proto3" json:"setup,omitempty"`
// contains filtered or unexported fields
}
The evaluation context for `expression` MUST include the dut setup configuration payload for a particular Device Under Test as a typed constant of the following type.
func (*DUTSetupConstraint_DUT) Descriptor
deprecated
func (*DUTSetupConstraint_DUT) Descriptor() ([]byte, []int)
Deprecated: Use DUTSetupConstraint_DUT.ProtoReflect.Descriptor instead.
func (*DUTSetupConstraint_DUT) GetSetup ¶
func (x *DUTSetupConstraint_DUT) GetSetup() *v1.DeviceUnderTest
func (*DUTSetupConstraint_DUT) ProtoMessage ¶
func (*DUTSetupConstraint_DUT) ProtoMessage()
func (*DUTSetupConstraint_DUT) ProtoReflect ¶
func (x *DUTSetupConstraint_DUT) ProtoReflect() protoreflect.Message
func (*DUTSetupConstraint_DUT) Reset ¶
func (x *DUTSetupConstraint_DUT) Reset()
func (*DUTSetupConstraint_DUT) String ¶
func (x *DUTSetupConstraint_DUT) String() string
type DockerImage ¶
type DockerImage struct {
// The Docker image digest is a content-addressable identifier for an image.
//
// The source of the Remote Test Driver images (e.g., a Docker registry, or
// a local Docker server) is specified in the Test Lab Environment request.
// The test metadata only contains the digest of the image to use.
//
// TLEs SHOULD verify the downloaded image against the digest.
//
// The digest MUST be set in metadata payload used by the Test Lab
// Environments. There is only one case where the digest may be elided:
//
// It may be useful for Remote Test Driver images to contain a
// copy of the metadata payload (e.g. to map from Test name to some Remote
// Test Driver-internal execution behaviour). This creates a chicken-and-egg
// problem: Changing the image name changes the image content, thereby
// changing the image hash again. In such cases, digest may be elided in the
// metadata payload inside the Remote Test Driver image.
Digest string `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
// contains filtered or unexported fields
}
Remote Test Driver images are pre-packaged Docker images.
func (*DockerImage) Descriptor
deprecated
func (*DockerImage) Descriptor() ([]byte, []int)
Deprecated: Use DockerImage.ProtoReflect.Descriptor instead.
func (*DockerImage) GetDigest ¶
func (x *DockerImage) GetDigest() string
func (*DockerImage) ProtoMessage ¶
func (*DockerImage) ProtoMessage()
func (*DockerImage) ProtoReflect ¶
func (x *DockerImage) ProtoReflect() protoreflect.Message
func (*DockerImage) Reset ¶
func (x *DockerImage) Reset()
func (*DockerImage) String ¶
func (x *DockerImage) String() string
type Informational ¶
type Informational struct {
// Contacts for ownership / flakiness notification etc.
Authors []*Contact `protobuf:"bytes,1,rep,name=authors,proto3" json:"authors,omitempty"`
// Machine readable test-specific information.
//
// Remote Test Drivers SHOULD include detailed information to aid analytics.
// For example, test authors may minimize code duplication by writing
// paramterized tests. Thus, multiple test metadata may refer to the
// same test implementation with different arguments. It is useful to include
// this information as details. An example for Tauto:
// {
// "test_project": "chromiumos/third_party/autotest",
// "control_file": "site_tests/dummy_Pass/control.stress",
// "args": {
// "run_count": 35
// }
// }
//
// This field MUST NOT be interpreted by the Test Lab Environments, but Remote
// Test Drivers can enrich analytics by using uniform stable schema for
// details across all their tests.
Details *structpb.Struct `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"`
// contains filtered or unexported fields
}
Contains metadata about the test that doesn't affect scheduling or execution.
func (*Informational) Descriptor
deprecated
func (*Informational) Descriptor() ([]byte, []int)
Deprecated: Use Informational.ProtoReflect.Descriptor instead.
func (*Informational) GetAuthors ¶
func (x *Informational) GetAuthors() []*Contact
func (*Informational) GetDetails ¶
func (x *Informational) GetDetails() *structpb.Struct
func (*Informational) ProtoMessage ¶
func (*Informational) ProtoMessage()
func (*Informational) ProtoReflect ¶
func (x *Informational) ProtoReflect() protoreflect.Message
func (*Informational) Reset ¶
func (x *Informational) Reset()
func (*Informational) String ¶
func (x *Informational) String() string
type RemoteTestDriver ¶
type RemoteTestDriver struct {
// Globally unique name for a Remote Test Driver package.
//
//
// MUST be a valid resource per https://aip.dev/122.
//
// Pattern: remoteTestDrivers/{remoteTestDriver}
//
// The two most commonly used Remote Test Drivers are named
// - remoteTestDrivers/tauto
// - remoteTestDrivers/tast
// and contain the common public tests written in the Tauto and Tast framework
// respectively.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// A Docker image containing all the required dependencies and other build
// artifacts required for test invocations.
//
// Test Lab Environments SHOULD fail with an error indicating that the request
// was invalid if the image fails to be found for a test invocation.
//
// See go/cros-f20-rtd-design for details about how the docker image should
// be prepared.
DockerImage *DockerImage `protobuf:"bytes,5,opt,name=docker_image,json=dockerImage,proto3" json:"docker_image,omitempty"`
// Command to invoke the Remote Test Driver inside `image`.
//
// Remote Test Servers MUST run `command` as
// $ ${command} -input ${input}
// where ${command} and ${input} are absolute paths inside the container.
//
// Remote Test Servers MUST populate `input` with a binaryproto file
// representing a test.invocation.Invocation message.
Command string `protobuf:"bytes,3,opt,name=command,proto3" json:"command,omitempty"`
// Metadata for the smallest schedulable test units.
Tests []*Test `protobuf:"bytes,4,rep,name=tests,proto3" json:"tests,omitempty"`
// contains filtered or unexported fields
}
go/cros-rtd-spec describes the Remote Test Driver bootstrapping flow inside the Remote Test Server. Remote Test Driver configures the bootstrapping flow for a test invocation.
func (*RemoteTestDriver) Descriptor
deprecated
func (*RemoteTestDriver) Descriptor() ([]byte, []int)
Deprecated: Use RemoteTestDriver.ProtoReflect.Descriptor instead.
func (*RemoteTestDriver) GetCommand ¶
func (x *RemoteTestDriver) GetCommand() string
func (*RemoteTestDriver) GetDockerImage ¶
func (x *RemoteTestDriver) GetDockerImage() *DockerImage
func (*RemoteTestDriver) GetName ¶
func (x *RemoteTestDriver) GetName() string
func (*RemoteTestDriver) GetTests ¶
func (x *RemoteTestDriver) GetTests() []*Test
func (*RemoteTestDriver) ProtoMessage ¶
func (*RemoteTestDriver) ProtoMessage()
func (*RemoteTestDriver) ProtoReflect ¶
func (x *RemoteTestDriver) ProtoReflect() protoreflect.Message
func (*RemoteTestDriver) Reset ¶
func (x *RemoteTestDriver) Reset()
func (*RemoteTestDriver) String ¶
func (x *RemoteTestDriver) String() string
type Specification ¶
type Specification struct {
// A set of Remote Test Driver packages.
//
// In practice, a complete specification of all known Remote Test Drivers may
// consist of multiple Specification instances. In that case the test names
// MUST be unique across different Specification instances.
//
// Unlike tests, a RemoteTestDriver (identified by its name) may be specified
// multiple times, in a single Specification or across different Specification
// instances. In that case, all fields except the list of tests MUST be
// identical across these RemoteTestDriver instances. The list of tests across
// these instances will be concatenated together.
RemoteTestDrivers []*RemoteTestDriver `protobuf:"bytes,1,rep,name=remote_test_drivers,json=remoteTestDrivers,proto3" json:"remote_test_drivers,omitempty"`
// contains filtered or unexported fields
}
The test metadata specification.
Test metadata MUST be generated for each Remote Test Driver as one of the test artifacts generated from Chrome OS build system.
func (*Specification) Descriptor
deprecated
func (*Specification) Descriptor() ([]byte, []int)
Deprecated: Use Specification.ProtoReflect.Descriptor instead.
func (*Specification) GetRemoteTestDrivers ¶
func (x *Specification) GetRemoteTestDrivers() []*RemoteTestDriver
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 Test ¶
type Test struct {
// Globally unique name for this test.
//
// MUST be a valid resource per https://aip.dev/122.
//
// Pattern: remoteTestDrivers/{remoteTestDriver}/tests/{test}
// where {remoteTestDriver} is the Remote Test Driver package that
// contains this test.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Attributes are used to include tests in test plans.
//
// See Also:
// Test plans: test/plan/plan.proto
Attributes []*Attribute `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty"`
// Required conditions to be met for the Devices Under Test targeted by this
// test.
//
// Constraint enforcement is an optional feature for test scheduling, i.e.,
// some Test Lab Environments may ignore conditions entirely.
//
// If the test execution is sharded over multiple devices, each must satisfy
// these conditions.
DutConstraint *DUTConstraint `protobuf:"bytes,6,opt,name=dut_constraint,json=dutConstraint,proto3" json:"dut_constraint,omitempty"`
// Metadata about the test that doesn't affect scheduling.
Informational *Informational `protobuf:"bytes,4,opt,name=informational,proto3" json:"informational,omitempty"`
// Will be deleted (& reserved) once all clients have migrated.
//
// Deprecated: Do not use.
DutCondition *DUTCondition `protobuf:"bytes,5,opt,name=dut_condition,json=dutCondition,proto3" json:"dut_condition,omitempty"`
// contains filtered or unexported fields
}
Related Test objects may be marked as such via the Informational field. See the documentation of test.metadata.v1.Informational for details.
A single test platform request or Remote Test Driver invocation may contain multiple instances of multiple Tests, but each instance of a Test MUST correspond to exactly one reported result.
See Also:
Test Platform request: TODO(pprabhu) Remote Test Driver invocation request: test/rtd/invocation.proto Remote Test Driver progress API: test/rtd/progress.proto
func (*Test) Descriptor
deprecated
func (*Test) GetAttributes ¶
func (*Test) GetDutCondition
deprecated
func (x *Test) GetDutCondition() *DUTCondition
Deprecated: Do not use.
func (*Test) GetDutConstraint ¶
func (x *Test) GetDutConstraint() *DUTConstraint
func (*Test) GetInformational ¶
func (x *Test) GetInformational() *Informational
func (*Test) ProtoMessage ¶
func (*Test) ProtoMessage()
func (*Test) ProtoReflect ¶
func (x *Test) ProtoReflect() protoreflect.Message