blob: bca7800e44eeb6a030c98ed0b2d7b5421e784897 [file] [log] [blame]
// Copyright 2020 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1
// protoc v3.17.1
// source: chromiumos/config/api/test/metadata/v1/metadata.proto
// This package contains the definitions for the test metadata generated as
// build artifacts for all supported tests.
//
// This metadata is used for test execution requests, scheduling decisions and
// results analytics in various Test Lab Environments.
//
// Metadata MUST be generated for all tests in supported Remote Test Drivers and
// MUST be respected in all Test Lab Environments.
package metadata
import (
api "go.chromium.org/chromiumos/config/go/api"
v1 "go.chromium.org/chromiumos/config/go/api/test/dut/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
structpb "google.golang.org/protobuf/types/known/structpb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 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.
type Specification struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *Specification) Reset() {
*x = Specification{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Specification) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Specification) ProtoMessage() {}
func (x *Specification) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Specification.ProtoReflect.Descriptor instead.
func (*Specification) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{0}
}
func (x *Specification) GetRemoteTestDrivers() []*RemoteTestDriver {
if x != nil {
return x.RemoteTestDrivers
}
return nil
}
// 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.
type RemoteTestDriver struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *RemoteTestDriver) Reset() {
*x = RemoteTestDriver{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RemoteTestDriver) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RemoteTestDriver) ProtoMessage() {}
func (x *RemoteTestDriver) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RemoteTestDriver.ProtoReflect.Descriptor instead.
func (*RemoteTestDriver) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{1}
}
func (x *RemoteTestDriver) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RemoteTestDriver) GetDockerImage() *DockerImage {
if x != nil {
return x.DockerImage
}
return nil
}
func (x *RemoteTestDriver) GetCommand() string {
if x != nil {
return x.Command
}
return ""
}
func (x *RemoteTestDriver) GetTests() []*Test {
if x != nil {
return x.Tests
}
return nil
}
// Remote Test Driver images are pre-packaged Docker images.
type DockerImage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *DockerImage) Reset() {
*x = DockerImage{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DockerImage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DockerImage) ProtoMessage() {}
func (x *DockerImage) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DockerImage.ProtoReflect.Descriptor instead.
func (*DockerImage) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{2}
}
func (x *DockerImage) GetDigest() string {
if x != nil {
return x.Digest
}
return ""
}
// 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
type Test struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *Test) Reset() {
*x = Test{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Test) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Test) ProtoMessage() {}
func (x *Test) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Test.ProtoReflect.Descriptor instead.
func (*Test) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{3}
}
func (x *Test) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Test) GetAttributes() []*Attribute {
if x != nil {
return x.Attributes
}
return nil
}
func (x *Test) GetDutConstraint() *DUTConstraint {
if x != nil {
return x.DutConstraint
}
return nil
}
func (x *Test) GetInformational() *Informational {
if x != nil {
return x.Informational
}
return nil
}
// Deprecated: Do not use.
func (x *Test) GetDutCondition() *DUTCondition {
if x != nil {
return x.DutCondition
}
return nil
}
// Attributes used to include tests in test plans.
type Attribute struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *Attribute) Reset() {
*x = Attribute{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Attribute) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Attribute) ProtoMessage() {}
func (x *Attribute) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Attribute.ProtoReflect.Descriptor instead.
func (*Attribute) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{4}
}
func (x *Attribute) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Conditions to be met for each Device Under Test targeted by a test.
type DUTConstraint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *DUTConstraint) Reset() {
*x = DUTConstraint{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DUTConstraint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DUTConstraint) ProtoMessage() {}
func (x *DUTConstraint) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DUTConstraint.ProtoReflect.Descriptor instead.
func (*DUTConstraint) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{5}
}
func (x *DUTConstraint) GetConfig() *DUTConfigConstraint {
if x != nil {
return x.Config
}
return nil
}
func (x *DUTConstraint) GetSetup() *DUTSetupConstraint {
if x != nil {
return x.Setup
}
return nil
}
// Conditions to be met for the Chrome OS configuration of each Device Under
// Test targeted by a test.
type DUTConfigConstraint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *DUTConfigConstraint) Reset() {
*x = DUTConfigConstraint{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DUTConfigConstraint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DUTConfigConstraint) ProtoMessage() {}
func (x *DUTConfigConstraint) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DUTConfigConstraint.ProtoReflect.Descriptor instead.
func (*DUTConfigConstraint) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{6}
}
func (x *DUTConfigConstraint) GetExpression() string {
if x != nil {
return x.Expression
}
return ""
}
// Conditions to be met for the setup of each Device Under Test targeted by a
// test.
type DUTSetupConstraint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *DUTSetupConstraint) Reset() {
*x = DUTSetupConstraint{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DUTSetupConstraint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DUTSetupConstraint) ProtoMessage() {}
func (x *DUTSetupConstraint) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DUTSetupConstraint.ProtoReflect.Descriptor instead.
func (*DUTSetupConstraint) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{7}
}
func (x *DUTSetupConstraint) GetExpression() string {
if x != nil {
return x.Expression
}
return ""
}
// Deprecated.
// Use DutConstraint instead.
// This message will be deleted once all clients have migrated.
type DUTCondition struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"`
}
func (x *DUTCondition) Reset() {
*x = DUTCondition{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DUTCondition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DUTCondition) ProtoMessage() {}
func (x *DUTCondition) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DUTCondition.ProtoReflect.Descriptor instead.
func (*DUTCondition) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{8}
}
func (x *DUTCondition) GetExpression() string {
if x != nil {
return x.Expression
}
return ""
}
// Contains metadata about the test that doesn't affect scheduling or execution.
type Informational struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *Informational) Reset() {
*x = Informational{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Informational) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Informational) ProtoMessage() {}
func (x *Informational) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Informational.ProtoReflect.Descriptor instead.
func (*Informational) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{9}
}
func (x *Informational) GetAuthors() []*Contact {
if x != nil {
return x.Authors
}
return nil
}
func (x *Informational) GetDetails() *structpb.Struct {
if x != nil {
return x.Details
}
return nil
}
// Contact information of individuals or teams.
type Contact struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Type:
// *Contact_Email
// *Contact_MdbGroup
Type isContact_Type `protobuf_oneof:"type"`
}
func (x *Contact) Reset() {
*x = Contact{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Contact) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Contact) ProtoMessage() {}
func (x *Contact) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Contact.ProtoReflect.Descriptor instead.
func (*Contact) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{10}
}
func (m *Contact) GetType() isContact_Type {
if m != nil {
return m.Type
}
return nil
}
func (x *Contact) GetEmail() string {
if x, ok := x.GetType().(*Contact_Email); ok {
return x.Email
}
return ""
}
func (x *Contact) GetMdbGroup() string {
if x, ok := x.GetType().(*Contact_MdbGroup); ok {
return x.MdbGroup
}
return ""
}
type isContact_Type interface {
isContact_Type()
}
type Contact_Email struct {
// e.g.: user@google.com
Email string `protobuf:"bytes,1,opt,name=email,proto3,oneof"`
}
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"`
}
func (*Contact_Email) isContact_Type() {}
func (*Contact_MdbGroup) isContact_Type() {}
// 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.
type DUTConfigConstraint_DUT struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HardwareFeatures *api.HardwareFeatures `protobuf:"bytes,1,opt,name=hardware_features,json=hardwareFeatures,proto3" json:"hardware_features,omitempty"`
}
func (x *DUTConfigConstraint_DUT) Reset() {
*x = DUTConfigConstraint_DUT{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DUTConfigConstraint_DUT) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DUTConfigConstraint_DUT) ProtoMessage() {}
func (x *DUTConfigConstraint_DUT) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DUTConfigConstraint_DUT.ProtoReflect.Descriptor instead.
func (*DUTConfigConstraint_DUT) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{6, 0}
}
func (x *DUTConfigConstraint_DUT) GetHardwareFeatures() *api.HardwareFeatures {
if x != nil {
return x.HardwareFeatures
}
return nil
}
// 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.
type DUTSetupConstraint_DUT struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Peripherals information about the lab deployment of the device
Setup *v1.DeviceUnderTest `protobuf:"bytes,1,opt,name=setup,proto3" json:"setup,omitempty"`
}
func (x *DUTSetupConstraint_DUT) Reset() {
*x = DUTSetupConstraint_DUT{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DUTSetupConstraint_DUT) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DUTSetupConstraint_DUT) ProtoMessage() {}
func (x *DUTSetupConstraint_DUT) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DUTSetupConstraint_DUT.ProtoReflect.Descriptor instead.
func (*DUTSetupConstraint_DUT) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{7, 0}
}
func (x *DUTSetupConstraint_DUT) GetSetup() *v1.DeviceUnderTest {
if x != nil {
return x.Setup
}
return nil
}
type DUTCondition_Scope struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
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"`
}
func (x *DUTCondition_Scope) Reset() {
*x = DUTCondition_Scope{}
if protoimpl.UnsafeEnabled {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DUTCondition_Scope) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DUTCondition_Scope) ProtoMessage() {}
func (x *DUTCondition_Scope) ProtoReflect() protoreflect.Message {
mi := &file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DUTCondition_Scope.ProtoReflect.Descriptor instead.
func (*DUTCondition_Scope) Descriptor() ([]byte, []int) {
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP(), []int{8, 0}
}
func (x *DUTCondition_Scope) GetSetup() *v1.DeviceUnderTest {
if x != nil {
return x.Setup
}
return nil
}
func (x *DUTCondition_Scope) GetHardwareTopology() *api.HardwareTopology {
if x != nil {
return x.HardwareTopology
}
return nil
}
func (x *DUTCondition_Scope) GetHardwareFeatures() *api.HardwareFeatures {
if x != nil {
return x.HardwareFeatures
}
return nil
}
var File_chromiumos_config_api_test_metadata_v1_metadata_proto protoreflect.FileDescriptor
var file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDesc = []byte{
0x0a, 0x35, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x6d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x26, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74,
0x65, 0x73, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x1a,
0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x63,
0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x64, 0x75, 0x74, 0x2f, 0x76, 0x31,
0x2f, 0x64, 0x75, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x63, 0x68, 0x72, 0x6f,
0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x6f, 0x6c,
0x6f, 0x67, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x68, 0x72, 0x6f, 0x6d,
0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0x79, 0x0a, 0x0d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x68, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f,
0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e,
0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x54, 0x65, 0x73,
0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x54,
0x65, 0x73, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x22, 0xe9, 0x01, 0x0a, 0x10, 0x52,
0x65, 0x6d, 0x6f, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12,
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6d,
0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x72, 0x6f,
0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0b,
0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63,
0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f,
0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x42, 0x0a, 0x05, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f,
0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65, 0x73,
0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x52, 0x05, 0x74, 0x65, 0x73, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52,
0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x25, 0x0a, 0x0b, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72,
0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x99, 0x03,
0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0a, 0x61, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31,
0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5c, 0x0a,
0x0e, 0x64, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65,
0x73, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44,
0x55, 0x54, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x64, 0x75,
0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x0d, 0x69,
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x0d, 0x69, 0x6e, 0x66, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x5d, 0x0a, 0x0d, 0x64, 0x75, 0x74, 0x5f,
0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x34, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x55, 0x54, 0x43, 0x6f, 0x6e, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x64, 0x75, 0x74, 0x43, 0x6f,
0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0a, 0x63,
0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x1f, 0x0a, 0x09, 0x41, 0x74, 0x74,
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x0d, 0x44,
0x55, 0x54, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x06,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63,
0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x55, 0x54, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43,
0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x12, 0x50, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x3a, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x55, 0x54, 0x53, 0x65, 0x74,
0x75, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x73, 0x65,
0x74, 0x75, 0x70, 0x22, 0x92, 0x01, 0x0a, 0x13, 0x44, 0x55, 0x54, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65,
0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x5b, 0x0a, 0x03, 0x44,
0x55, 0x54, 0x12, 0x54, 0x0a, 0x11, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x66,
0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x46, 0x65,
0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65,
0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x55, 0x54,
0x53, 0x65, 0x74, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12,
0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a,
0x4f, 0x0a, 0x03, 0x44, 0x55, 0x54, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65,
0x73, 0x74, 0x2e, 0x64, 0x75, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x55, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x65, 0x73, 0x74, 0x52, 0x05, 0x73, 0x65, 0x74, 0x75, 0x70,
0x22, 0xae, 0x02, 0x0a, 0x0c, 0x44, 0x55, 0x54, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x1a, 0xfd, 0x01, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73,
0x65, 0x74, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x64, 0x75, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44,
0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x65, 0x73, 0x74, 0x52, 0x05,
0x73, 0x65, 0x74, 0x75, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72,
0x65, 0x5f, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x27, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72,
0x65, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x10, 0x68, 0x61, 0x72, 0x64, 0x77,
0x61, 0x72, 0x65, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x54, 0x0a, 0x11, 0x68,
0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48,
0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52,
0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
0x73, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x61, 0x6c, 0x12, 0x49, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f,
0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x74, 0x65, 0x73,
0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x31,
0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x73, 0x22, 0x48, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x05,
0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65,
0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x6d, 0x64, 0x62, 0x5f, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x64, 0x62, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x53, 0x42, 0x0d, 0x4d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x42, 0x67, 0x6f,
0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f,
0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescOnce sync.Once
file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescData = file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDesc
)
func file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescGZIP() []byte {
file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescOnce.Do(func() {
file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescData)
})
return file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDescData
}
var file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_chromiumos_config_api_test_metadata_v1_metadata_proto_goTypes = []interface{}{
(*Specification)(nil), // 0: chromiumos.config.api.test.metadata.v1.Specification
(*RemoteTestDriver)(nil), // 1: chromiumos.config.api.test.metadata.v1.RemoteTestDriver
(*DockerImage)(nil), // 2: chromiumos.config.api.test.metadata.v1.DockerImage
(*Test)(nil), // 3: chromiumos.config.api.test.metadata.v1.Test
(*Attribute)(nil), // 4: chromiumos.config.api.test.metadata.v1.Attribute
(*DUTConstraint)(nil), // 5: chromiumos.config.api.test.metadata.v1.DUTConstraint
(*DUTConfigConstraint)(nil), // 6: chromiumos.config.api.test.metadata.v1.DUTConfigConstraint
(*DUTSetupConstraint)(nil), // 7: chromiumos.config.api.test.metadata.v1.DUTSetupConstraint
(*DUTCondition)(nil), // 8: chromiumos.config.api.test.metadata.v1.DUTCondition
(*Informational)(nil), // 9: chromiumos.config.api.test.metadata.v1.Informational
(*Contact)(nil), // 10: chromiumos.config.api.test.metadata.v1.Contact
(*DUTConfigConstraint_DUT)(nil), // 11: chromiumos.config.api.test.metadata.v1.DUTConfigConstraint.DUT
(*DUTSetupConstraint_DUT)(nil), // 12: chromiumos.config.api.test.metadata.v1.DUTSetupConstraint.DUT
(*DUTCondition_Scope)(nil), // 13: chromiumos.config.api.test.metadata.v1.DUTCondition.Scope
(*structpb.Struct)(nil), // 14: google.protobuf.Struct
(*api.HardwareFeatures)(nil), // 15: chromiumos.config.api.HardwareFeatures
(*v1.DeviceUnderTest)(nil), // 16: chromiumos.config.api.test.dut.v1.DeviceUnderTest
(*api.HardwareTopology)(nil), // 17: chromiumos.config.api.HardwareTopology
}
var file_chromiumos_config_api_test_metadata_v1_metadata_proto_depIdxs = []int32{
1, // 0: chromiumos.config.api.test.metadata.v1.Specification.remote_test_drivers:type_name -> chromiumos.config.api.test.metadata.v1.RemoteTestDriver
2, // 1: chromiumos.config.api.test.metadata.v1.RemoteTestDriver.docker_image:type_name -> chromiumos.config.api.test.metadata.v1.DockerImage
3, // 2: chromiumos.config.api.test.metadata.v1.RemoteTestDriver.tests:type_name -> chromiumos.config.api.test.metadata.v1.Test
4, // 3: chromiumos.config.api.test.metadata.v1.Test.attributes:type_name -> chromiumos.config.api.test.metadata.v1.Attribute
5, // 4: chromiumos.config.api.test.metadata.v1.Test.dut_constraint:type_name -> chromiumos.config.api.test.metadata.v1.DUTConstraint
9, // 5: chromiumos.config.api.test.metadata.v1.Test.informational:type_name -> chromiumos.config.api.test.metadata.v1.Informational
8, // 6: chromiumos.config.api.test.metadata.v1.Test.dut_condition:type_name -> chromiumos.config.api.test.metadata.v1.DUTCondition
6, // 7: chromiumos.config.api.test.metadata.v1.DUTConstraint.config:type_name -> chromiumos.config.api.test.metadata.v1.DUTConfigConstraint
7, // 8: chromiumos.config.api.test.metadata.v1.DUTConstraint.setup:type_name -> chromiumos.config.api.test.metadata.v1.DUTSetupConstraint
10, // 9: chromiumos.config.api.test.metadata.v1.Informational.authors:type_name -> chromiumos.config.api.test.metadata.v1.Contact
14, // 10: chromiumos.config.api.test.metadata.v1.Informational.details:type_name -> google.protobuf.Struct
15, // 11: chromiumos.config.api.test.metadata.v1.DUTConfigConstraint.DUT.hardware_features:type_name -> chromiumos.config.api.HardwareFeatures
16, // 12: chromiumos.config.api.test.metadata.v1.DUTSetupConstraint.DUT.setup:type_name -> chromiumos.config.api.test.dut.v1.DeviceUnderTest
16, // 13: chromiumos.config.api.test.metadata.v1.DUTCondition.Scope.setup:type_name -> chromiumos.config.api.test.dut.v1.DeviceUnderTest
17, // 14: chromiumos.config.api.test.metadata.v1.DUTCondition.Scope.hardware_topology:type_name -> chromiumos.config.api.HardwareTopology
15, // 15: chromiumos.config.api.test.metadata.v1.DUTCondition.Scope.hardware_features:type_name -> chromiumos.config.api.HardwareFeatures
16, // [16:16] is the sub-list for method output_type
16, // [16:16] is the sub-list for method input_type
16, // [16:16] is the sub-list for extension type_name
16, // [16:16] is the sub-list for extension extendee
0, // [0:16] is the sub-list for field type_name
}
func init() { file_chromiumos_config_api_test_metadata_v1_metadata_proto_init() }
func file_chromiumos_config_api_test_metadata_v1_metadata_proto_init() {
if File_chromiumos_config_api_test_metadata_v1_metadata_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Specification); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RemoteTestDriver); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DockerImage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Test); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Attribute); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DUTConstraint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DUTConfigConstraint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DUTSetupConstraint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DUTCondition); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Informational); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Contact); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DUTConfigConstraint_DUT); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DUTSetupConstraint_DUT); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DUTCondition_Scope); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes[10].OneofWrappers = []interface{}{
(*Contact_Email)(nil),
(*Contact_MdbGroup)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDesc,
NumEnums: 0,
NumMessages: 14,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_chromiumos_config_api_test_metadata_v1_metadata_proto_goTypes,
DependencyIndexes: file_chromiumos_config_api_test_metadata_v1_metadata_proto_depIdxs,
MessageInfos: file_chromiumos_config_api_test_metadata_v1_metadata_proto_msgTypes,
}.Build()
File_chromiumos_config_api_test_metadata_v1_metadata_proto = out.File
file_chromiumos_config_api_test_metadata_v1_metadata_proto_rawDesc = nil
file_chromiumos_config_api_test_metadata_v1_metadata_proto_goTypes = nil
file_chromiumos_config_api_test_metadata_v1_metadata_proto_depIdxs = nil
}