test: Breaking change to invocation API
Simplify the API to allow only one request in an invocation.
- Drop nested collection of requests in invocations
- Flatten references to Invocation.request.name => Invocation.name
- Drop temp_dir from environment, as RTDs are free to use their
containerized filesystem as they wish.
BUG=None
TEST=./generate.sh
Change-Id: I4405108dd7a3e4ba8ef554fce3ca9670f7303a46
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/config/+/2488091
Commit-Queue: Prathmesh Prabhu <pprabhu@google.com>
Commit-Queue: Sean Abraham <seanabraham@chromium.org>
Auto-Submit: Prathmesh Prabhu <pprabhu@google.com>
Reviewed-by: Sean Abraham <seanabraham@chromium.org>
diff --git a/go/api/test/rtd/v1/invocation.pb.go b/go/api/test/rtd/v1/invocation.pb.go
index bea4156..717f1d9 100644
--- a/go/api/test/rtd/v1/invocation.pb.go
+++ b/go/api/test/rtd/v1/invocation.pb.go
@@ -25,24 +25,41 @@
// TODO(crbug.com/1051691): Link to a reference implementation of Remote Test
// Server & Remote Test Driver.
type Invocation struct {
+ // A unique name for this invocation.
+ //
+ // ProgressSink methods require the inclusion of this value in reported
+ // results. This provides additional safety from leaked Remote Test Driver
+ // processes in the case that a single container is used to run multiple
+ // invocations sequentially.
+ //
+ // Remote Test Drivers are recommended to use name as the opaque tag
+ // required by the Test Lab Services API. Thus, name SHOULD be unique across
+ // all invocations to simplify analytics. UUIDs are recommended.
+ //
+ // See also:
+ // Test Lab Services API: tls/README.md
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Progress sink to be used to report progress of the Remote Test Driver
// invocation to the surrounding Remote Test Server.
- ProgressSinkClientConfig *ProgressSinkClientConfig `protobuf:"bytes,1,opt,name=progress_sink_client_config,json=progressSinkClientConfig,proto3" json:"progress_sink_client_config,omitempty"`
- // Set of DUTs used for each of the requests in this invocation.
- //
- // Contains more than one dut if the test execution is sharded.
- Duts []*DUT `protobuf:"bytes,2,rep,name=duts,proto3" json:"duts,omitempty"`
- // Smallest unit of an invocation request for which results MUST be reported.
- //
- // An invocation MUST execute all requests serially in-order. This assumption
- // is necessary for future support of test sequences in test plans.
- Requests []*Request `protobuf:"bytes,3,rep,name=requests,proto3" json:"requests,omitempty"`
+ ProgressSinkClientConfig *ProgressSinkClientConfig `protobuf:"bytes,2,opt,name=progress_sink_client_config,json=progressSinkClientConfig,proto3" json:"progress_sink_client_config,omitempty"`
// Configuration information for using Test Lab Services to interact
// with DUTs and their peripherals.
- TestLabServicesConfig *TLSClientConfig `protobuf:"bytes,4,opt,name=test_lab_services_config,json=testLabServicesConfig,proto3" json:"test_lab_services_config,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
+ TestLabServicesConfig *TLSClientConfig `protobuf:"bytes,3,opt,name=test_lab_services_config,json=testLabServicesConfig,proto3" json:"test_lab_services_config,omitempty"`
+ // Set of DUTs usable in this invocation.
+ //
+ // Contains more than one dut if the test execution is sharded.
+ Duts []*DUT `protobuf:"bytes,4,rep,name=duts,proto3" json:"duts,omitempty"`
+ // The test to execute, identified by the test.metadata.Test.name field.
+ //
+ // Note that the invocation does not contain a reference to the Remote Test
+ // Driver to use.
+ Test string `protobuf:"bytes,5,opt,name=test,proto3" json:"test,omitempty"`
+ // Environment configuration set by the Remote Test Server for a specific
+ // invocation of the Remote Test Driver.
+ Environment *Invocation_Environment `protobuf:"bytes,6,opt,name=environment,proto3" json:"environment,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
}
func (m *Invocation) Reset() { *m = Invocation{} }
@@ -70,6 +87,13 @@
var xxx_messageInfo_Invocation proto.InternalMessageInfo
+func (m *Invocation) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
func (m *Invocation) GetProgressSinkClientConfig() *ProgressSinkClientConfig {
if m != nil {
return m.ProgressSinkClientConfig
@@ -77,6 +101,13 @@
return nil
}
+func (m *Invocation) GetTestLabServicesConfig() *TLSClientConfig {
+ if m != nil {
+ return m.TestLabServicesConfig
+ }
+ return nil
+}
+
func (m *Invocation) GetDuts() []*DUT {
if m != nil {
return m.Duts
@@ -84,18 +115,71 @@
return nil
}
-func (m *Invocation) GetRequests() []*Request {
+func (m *Invocation) GetTest() string {
if m != nil {
- return m.Requests
+ return m.Test
+ }
+ return ""
+}
+
+func (m *Invocation) GetEnvironment() *Invocation_Environment {
+ if m != nil {
+ return m.Environment
}
return nil
}
-func (m *Invocation) GetTestLabServicesConfig() *TLSClientConfig {
+// Per-invocation Remote Test Server environment configuration.
+type Invocation_Environment struct {
+ // Absolute path to a directory for writing arbitrary files.
+ //
+ // This directory MUST be created by Remote Test Server prior to the Remote
+ // Test Driver invocation.
+ //
+ // * Remote Test Drivers SHOULD use
+ // test.invocation.ProgressClient.ReportLog() to report logs.
+ // * Remote Test Drivers SHOULD use
+ // test.invocation.ProgressClient.ArchiveArtifact() to archive critical
+ // artifacts.
+ //
+ // Remote Test Servers may archive the work_dir contents to non-ephemeral
+ // storage as a best effort asynchronous task.
+ WorkDir string `protobuf:"bytes,1,opt,name=work_dir,json=workDir,proto3" json:"work_dir,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Invocation_Environment) Reset() { *m = Invocation_Environment{} }
+func (m *Invocation_Environment) String() string { return proto.CompactTextString(m) }
+func (*Invocation_Environment) ProtoMessage() {}
+func (*Invocation_Environment) Descriptor() ([]byte, []int) {
+ return fileDescriptor_2aad16878b22eddc, []int{0, 0}
+}
+
+func (m *Invocation_Environment) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Invocation_Environment.Unmarshal(m, b)
+}
+func (m *Invocation_Environment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Invocation_Environment.Marshal(b, m, deterministic)
+}
+func (m *Invocation_Environment) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Invocation_Environment.Merge(m, src)
+}
+func (m *Invocation_Environment) XXX_Size() int {
+ return xxx_messageInfo_Invocation_Environment.Size(m)
+}
+func (m *Invocation_Environment) XXX_DiscardUnknown() {
+ xxx_messageInfo_Invocation_Environment.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Invocation_Environment proto.InternalMessageInfo
+
+func (m *Invocation_Environment) GetWorkDir() string {
if m != nil {
- return m.TestLabServicesConfig
+ return m.WorkDir
}
- return nil
+ return ""
}
// Contains all configuration data required to interact with a single device
@@ -145,147 +229,6 @@
return ""
}
-// Request for execution of a single test.metadata.Test
-type Request struct {
- // name MUST be unique across all requests in this invocation.
- //
- // Remote Test Drivers are recommended to use name as the opaque tag
- // required by the Test Lab Services API. Thus, name SHOULD be unique across
- // all invocations to simplify analytics. UUIDs are recommended.
- //
- // See also:
- // Test Lab Services API: tls/README.md
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The test to execute, identified by the test.metadata.Test.name field.
- //
- // Note that the request does not contain a reference to the Remote Test
- // Driver to use, as the request is an input to the Remote Test Driver
- // invocation.
- Test string `protobuf:"bytes,2,opt,name=test,proto3" json:"test,omitempty"`
- // Environment configuration set by the Remote Test Server for a specific
- // request of the Remote Test Driver.
- Environment *Request_Environment `protobuf:"bytes,3,opt,name=environment,proto3" json:"environment,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Request) Reset() { *m = Request{} }
-func (m *Request) String() string { return proto.CompactTextString(m) }
-func (*Request) ProtoMessage() {}
-func (*Request) Descriptor() ([]byte, []int) {
- return fileDescriptor_2aad16878b22eddc, []int{2}
-}
-
-func (m *Request) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Request.Unmarshal(m, b)
-}
-func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Request.Marshal(b, m, deterministic)
-}
-func (m *Request) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Request.Merge(m, src)
-}
-func (m *Request) XXX_Size() int {
- return xxx_messageInfo_Request.Size(m)
-}
-func (m *Request) XXX_DiscardUnknown() {
- xxx_messageInfo_Request.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Request proto.InternalMessageInfo
-
-func (m *Request) GetName() string {
- if m != nil {
- return m.Name
- }
- return ""
-}
-
-func (m *Request) GetTest() string {
- if m != nil {
- return m.Test
- }
- return ""
-}
-
-func (m *Request) GetEnvironment() *Request_Environment {
- if m != nil {
- return m.Environment
- }
- return nil
-}
-
-// Per-request Remote Test Server environment configuration.
-type Request_Environment struct {
- // Absolute path to a directory for writing arbitrary files.
- //
- // This directory MUST be created by Remote Test Server prior to the Remote
- // Test Driver invocation.
- //
- // * Remote Test Drivers SHOULD use
- // test.invocation.ProgressClient.ReportLog() to report logs.
- // * Remote Test Drivers SHOULD use
- // test.invocation.ProgressClient.ArchiveArtifact() to archive critical
- // artifacts.
- //
- // Remote Test Servers may archive the work_dir contents to non-ephemeral
- // storage as a best effort asynchronous task.
- WorkDir string `protobuf:"bytes,1,opt,name=work_dir,json=workDir,proto3" json:"work_dir,omitempty"`
- // Absolute path to a directory for writing temporary files.
- //
- // This directory MUST be created by Remote Test Server prior to the Remote
- // Test Driver invocation.
- //
- // Remote Test Drivers MUST use this directory for temporary files and MUST
- // NOT attempt to use defaults like /tmp or the TMP environment variable.
- //
- // See also: Environment.work_dir
- TempDir string `protobuf:"bytes,2,opt,name=temp_dir,json=tempDir,proto3" json:"temp_dir,omitempty"`
- XXX_NoUnkeyedLiteral struct{} `json:"-"`
- XXX_unrecognized []byte `json:"-"`
- XXX_sizecache int32 `json:"-"`
-}
-
-func (m *Request_Environment) Reset() { *m = Request_Environment{} }
-func (m *Request_Environment) String() string { return proto.CompactTextString(m) }
-func (*Request_Environment) ProtoMessage() {}
-func (*Request_Environment) Descriptor() ([]byte, []int) {
- return fileDescriptor_2aad16878b22eddc, []int{2, 0}
-}
-
-func (m *Request_Environment) XXX_Unmarshal(b []byte) error {
- return xxx_messageInfo_Request_Environment.Unmarshal(m, b)
-}
-func (m *Request_Environment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- return xxx_messageInfo_Request_Environment.Marshal(b, m, deterministic)
-}
-func (m *Request_Environment) XXX_Merge(src proto.Message) {
- xxx_messageInfo_Request_Environment.Merge(m, src)
-}
-func (m *Request_Environment) XXX_Size() int {
- return xxx_messageInfo_Request_Environment.Size(m)
-}
-func (m *Request_Environment) XXX_DiscardUnknown() {
- xxx_messageInfo_Request_Environment.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Request_Environment proto.InternalMessageInfo
-
-func (m *Request_Environment) GetWorkDir() string {
- if m != nil {
- return m.WorkDir
- }
- return ""
-}
-
-func (m *Request_Environment) GetTempDir() string {
- if m != nil {
- return m.TempDir
- }
- return ""
-}
-
// Configuration information required for using Test Lab & Wiring Services.
type TLSClientConfig struct {
// Address where Test Lab Services is reachable.
@@ -314,7 +257,7 @@
func (m *TLSClientConfig) String() string { return proto.CompactTextString(m) }
func (*TLSClientConfig) ProtoMessage() {}
func (*TLSClientConfig) Descriptor() ([]byte, []int) {
- return fileDescriptor_2aad16878b22eddc, []int{3}
+ return fileDescriptor_2aad16878b22eddc, []int{2}
}
func (m *TLSClientConfig) XXX_Unmarshal(b []byte) error {
@@ -365,9 +308,8 @@
func init() {
proto.RegisterType((*Invocation)(nil), "chromiumos.config.api.test.rtd.v1.Invocation")
+ proto.RegisterType((*Invocation_Environment)(nil), "chromiumos.config.api.test.rtd.v1.Invocation.Environment")
proto.RegisterType((*DUT)(nil), "chromiumos.config.api.test.rtd.v1.DUT")
- proto.RegisterType((*Request)(nil), "chromiumos.config.api.test.rtd.v1.Request")
- proto.RegisterType((*Request_Environment)(nil), "chromiumos.config.api.test.rtd.v1.Request.Environment")
proto.RegisterType((*TLSClientConfig)(nil), "chromiumos.config.api.test.rtd.v1.TLSClientConfig")
}
@@ -376,34 +318,32 @@
}
var fileDescriptor_2aad16878b22eddc = []byte{
- // 463 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xd1, 0x8b, 0xd3, 0x4e,
- 0x10, 0xc7, 0x69, 0xd3, 0xdf, 0xaf, 0xe7, 0x46, 0x10, 0x16, 0x84, 0x78, 0x3e, 0x58, 0xfb, 0xa0,
- 0x87, 0x0f, 0x1b, 0xaf, 0x82, 0xc8, 0xdd, 0x93, 0x36, 0x0a, 0xc2, 0x21, 0x47, 0xda, 0x03, 0xf1,
- 0x65, 0x49, 0x93, 0x35, 0x2e, 0x4d, 0x76, 0xe3, 0xec, 0x24, 0x01, 0xff, 0x03, 0xff, 0x3b, 0xff,
- 0x1d, 0xdf, 0x64, 0x77, 0xdb, 0x5e, 0xef, 0x44, 0xae, 0x6f, 0xd9, 0x99, 0xf9, 0x7c, 0x67, 0xe6,
- 0x4b, 0x86, 0xcc, 0xf2, 0x6f, 0xa0, 0x6b, 0xd9, 0xd6, 0xda, 0xc4, 0xb9, 0x56, 0x5f, 0x65, 0x19,
- 0x67, 0x8d, 0x8c, 0x51, 0x18, 0x8c, 0x01, 0x8b, 0xb8, 0x3b, 0x8d, 0xa5, 0xea, 0x74, 0x9e, 0xa1,
- 0xd4, 0x8a, 0x35, 0xa0, 0x51, 0xd3, 0xa7, 0xd7, 0x0c, 0xf3, 0x0c, 0xcb, 0x1a, 0xc9, 0x2c, 0xc3,
- 0x00, 0x0b, 0xd6, 0x9d, 0x1e, 0xbf, 0xbc, 0x5b, 0xb6, 0x01, 0x5d, 0x82, 0x30, 0xc6, 0x8b, 0x4e,
- 0x7f, 0x0f, 0x09, 0xf9, 0xb8, 0xeb, 0x44, 0x7f, 0x90, 0xc7, 0xdb, 0x02, 0x6e, 0xa4, 0x5a, 0xf3,
- 0xbc, 0x92, 0x42, 0x21, 0xf7, 0x62, 0xd1, 0x60, 0x32, 0x38, 0x09, 0x67, 0xe7, 0xec, 0xce, 0x49,
- 0xd8, 0xe5, 0x46, 0x65, 0x21, 0xd5, 0x7a, 0xee, 0x34, 0xe6, 0xae, 0x30, 0x8d, 0x9a, 0x7f, 0x64,
- 0xe8, 0x19, 0x19, 0x15, 0x2d, 0x9a, 0x68, 0x38, 0x09, 0x4e, 0xc2, 0xd9, 0xb3, 0x03, 0x9a, 0x24,
- 0x57, 0xcb, 0xd4, 0x31, 0xf4, 0x03, 0x39, 0x02, 0xf1, 0xbd, 0x15, 0x06, 0x4d, 0x14, 0x38, 0xfe,
- 0xc5, 0x01, 0x7c, 0xea, 0x91, 0x74, 0xc7, 0xd2, 0x35, 0x89, 0x6c, 0x01, 0xaf, 0xb2, 0x15, 0x37,
- 0x02, 0x3a, 0x99, 0x0b, 0xb3, 0x5d, 0x7e, 0xe4, 0x96, 0x9f, 0x1d, 0xa0, 0xbb, 0xbc, 0x58, 0xdc,
- 0xd8, 0xf9, 0xa1, 0x4d, 0x5e, 0x64, 0xab, 0xc5, 0x46, 0xd1, 0x87, 0xa7, 0xcf, 0x49, 0x90, 0x5c,
- 0x2d, 0xe9, 0x84, 0xdc, 0xc7, 0xca, 0xf0, 0xa2, 0x45, 0xae, 0xb2, 0x5a, 0x38, 0x93, 0xef, 0xa5,
- 0x04, 0x2b, 0x93, 0xb4, 0xf8, 0x29, 0xab, 0xc5, 0xf4, 0xd7, 0x80, 0x8c, 0x37, 0xb3, 0x52, 0x4a,
- 0x46, 0x7b, 0x55, 0xee, 0xdb, 0xc6, 0x6c, 0x87, 0x68, 0xe8, 0x63, 0xf6, 0x9b, 0x7e, 0x26, 0xa1,
- 0x50, 0x9d, 0x04, 0xad, 0x6a, 0xa1, 0x30, 0x0a, 0xdc, 0xf0, 0xaf, 0x0f, 0x37, 0x85, 0xbd, 0xbf,
- 0xa6, 0xd3, 0x7d, 0xa9, 0xe3, 0x39, 0x09, 0xf7, 0x72, 0xf4, 0x11, 0x39, 0xea, 0x35, 0xac, 0x79,
- 0x21, 0x61, 0x33, 0xd4, 0xd8, 0xbe, 0x13, 0x09, 0x36, 0x85, 0xa2, 0x6e, 0x5c, 0xca, 0xcf, 0x36,
- 0xb6, 0xef, 0x44, 0xc2, 0xf4, 0xe7, 0x80, 0x3c, 0xb8, 0x65, 0x13, 0x7d, 0x42, 0x42, 0x6b, 0x44,
- 0x56, 0x14, 0xf6, 0xff, 0xd8, 0xf3, 0xe1, 0xad, 0x8f, 0x38, 0xbd, 0xca, 0xf0, 0x46, 0x83, 0xdf,
- 0xf5, 0xbf, 0x74, 0x8c, 0x95, 0xb9, 0xd4, 0x80, 0x9e, 0xed, 0x77, 0x6c, 0xb0, 0x65, 0xfb, 0x1b,
- 0x6c, 0xef, 0xd9, 0xd1, 0x96, 0xed, 0x2d, 0xfb, 0xee, 0xec, 0xcb, 0x9b, 0x52, 0xef, 0x9c, 0x61,
- 0x1a, 0xca, 0xf8, 0xef, 0x3b, 0x2a, 0xf5, 0xed, 0x53, 0x3a, 0x07, 0x2c, 0x56, 0xff, 0xbb, 0x33,
- 0x7a, 0xf5, 0x27, 0x00, 0x00, 0xff, 0xff, 0x59, 0xc5, 0xd1, 0x57, 0xd1, 0x03, 0x00, 0x00,
+ // 424 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x41, 0x6f, 0xd3, 0x30,
+ 0x14, 0xc7, 0x55, 0xd2, 0x6d, 0xe0, 0x20, 0x21, 0x59, 0x42, 0x0a, 0xe3, 0x40, 0xe9, 0x01, 0x7a,
+ 0x72, 0x58, 0xb9, 0xc0, 0x76, 0x82, 0x95, 0x03, 0xd2, 0x84, 0xa6, 0xb4, 0xbb, 0xc0, 0xc1, 0x72,
+ 0x63, 0x13, 0xac, 0x24, 0x76, 0x64, 0xbf, 0x24, 0x12, 0xdf, 0x80, 0x6f, 0xc9, 0x47, 0x41, 0x76,
+ 0x92, 0x36, 0x1b, 0x9a, 0xd6, 0x9b, 0x93, 0xe7, 0xdf, 0xef, 0x6f, 0xbd, 0xf7, 0xd0, 0x32, 0xfd,
+ 0x65, 0x74, 0x29, 0xeb, 0x52, 0xdb, 0x38, 0xd5, 0xea, 0xa7, 0xcc, 0x62, 0x56, 0xc9, 0x18, 0x84,
+ 0x85, 0xd8, 0x00, 0x8f, 0x9b, 0xb3, 0x58, 0xaa, 0x46, 0xa7, 0x0c, 0xa4, 0x56, 0xa4, 0x32, 0x1a,
+ 0x34, 0x7e, 0xbd, 0x67, 0x48, 0xc7, 0x10, 0x56, 0x49, 0xe2, 0x18, 0x62, 0x80, 0x93, 0xe6, 0xec,
+ 0xf4, 0xdd, 0xc3, 0xda, 0xca, 0xe8, 0xcc, 0x08, 0x6b, 0x3b, 0xe9, 0xfc, 0x6f, 0x80, 0xd0, 0xd7,
+ 0x5d, 0x12, 0xc6, 0x68, 0xaa, 0x58, 0x29, 0xa2, 0xc9, 0x6c, 0xb2, 0x78, 0x92, 0xf8, 0x33, 0xfe,
+ 0x8d, 0x5e, 0x0e, 0x10, 0xb5, 0x52, 0xe5, 0x34, 0x2d, 0xa4, 0x50, 0x40, 0xbb, 0x80, 0xe8, 0xd1,
+ 0x6c, 0xb2, 0x08, 0x97, 0x17, 0xe4, 0xc1, 0xd7, 0x91, 0xeb, 0xde, 0xb2, 0x96, 0x2a, 0xbf, 0xf4,
+ 0x8e, 0x4b, 0x7f, 0x31, 0x89, 0xaa, 0x7b, 0x2a, 0x38, 0x47, 0x91, 0x33, 0xd0, 0x82, 0x6d, 0xa9,
+ 0x15, 0xa6, 0x91, 0xa9, 0xb0, 0x43, 0x70, 0xe0, 0x83, 0x97, 0x07, 0x04, 0x6f, 0xae, 0xd6, 0xb7,
+ 0xf2, 0x9e, 0xbb, 0xe2, 0x15, 0xdb, 0xae, 0x7b, 0x63, 0x1f, 0x76, 0x8e, 0xa6, 0xbc, 0x06, 0x1b,
+ 0x4d, 0x67, 0xc1, 0x22, 0x5c, 0xbe, 0x39, 0x40, 0xbc, 0xba, 0xd9, 0x24, 0x9e, 0x71, 0x8d, 0x73,
+ 0x85, 0xe8, 0xa8, 0x6b, 0x9c, 0x3b, 0xe3, 0x1f, 0x28, 0x14, 0xaa, 0x91, 0x46, 0xab, 0x52, 0x28,
+ 0x88, 0x8e, 0xfd, 0x7b, 0x3f, 0x1e, 0xa0, 0xdd, 0x0f, 0x84, 0x7c, 0xd9, 0x0b, 0x92, 0xb1, 0xed,
+ 0x74, 0x81, 0xc2, 0x51, 0x0d, 0xbf, 0x40, 0x8f, 0x5b, 0x6d, 0x72, 0xca, 0xa5, 0xe9, 0x87, 0x77,
+ 0xe2, 0xbe, 0x57, 0xd2, 0xcc, 0xdf, 0xa2, 0x60, 0x75, 0xb3, 0xc1, 0x33, 0xf4, 0x14, 0x0a, 0x4b,
+ 0x79, 0x0d, 0x74, 0x34, 0x62, 0x04, 0x85, 0x5d, 0xd5, 0xf0, 0x8d, 0x95, 0x62, 0xfe, 0x67, 0x82,
+ 0x9e, 0xdd, 0x69, 0x15, 0x7e, 0x85, 0x42, 0x47, 0x31, 0xce, 0xdd, 0x7c, 0x46, 0xd0, 0xa7, 0xee,
+ 0x8f, 0x0b, 0x76, 0x17, 0x2a, 0x6d, 0xc0, 0xaf, 0xc2, 0x51, 0x72, 0x02, 0x85, 0xbd, 0xd6, 0x06,
+ 0x3a, 0xb6, 0xdd, 0xb1, 0xc1, 0xc0, 0xb6, 0xb7, 0xd8, 0xb6, 0x63, 0xa7, 0x03, 0xdb, 0x3a, 0xf6,
+ 0xf3, 0xf9, 0xf7, 0x0f, 0x99, 0xde, 0xb5, 0x8a, 0x68, 0x93, 0xc5, 0xff, 0xef, 0x76, 0xa6, 0xef,
+ 0xae, 0xf7, 0x85, 0x01, 0xbe, 0x3d, 0xf6, 0xab, 0xfd, 0xfe, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0xcc, 0x66, 0xe0, 0x8d, 0x65, 0x03, 0x00, 0x00,
}
diff --git a/go/api/test/rtd/v1/progress.pb.go b/go/api/test/rtd/v1/progress.pb.go
index d394c06..fc21ec2 100644
--- a/go/api/test/rtd/v1/progress.pb.go
+++ b/go/api/test/rtd/v1/progress.pb.go
@@ -68,9 +68,9 @@
}
type ReportResultRequest struct {
- // The request to report results for, identified by the
- // Invocation.Request.name field.
- Request string `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
+ // The invocation to report results for, identified by the Invocation.name
+ // field.
+ Invocation string `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"`
// Result to report.
Result *v2.Result `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -103,9 +103,9 @@
var xxx_messageInfo_ReportResultRequest proto.InternalMessageInfo
-func (m *ReportResultRequest) GetRequest() string {
+func (m *ReportResultRequest) GetInvocation() string {
if m != nil {
- return m.Request
+ return m.Invocation
}
return ""
}
@@ -165,9 +165,9 @@
// a valid resource name per https://aip.dev/122 and MUST be a valid POSIX
// file path.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The request to report logs for, identified by the
- // Invocation.Request.name field.
- Request string `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
+ // The invocation to report results for, identified by the Invocation.name
+ // field.
+ Invocation string `protobuf:"bytes,2,opt,name=invocation,proto3" json:"invocation,omitempty"`
// Uninterpreted chunk of log-data.
Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -207,9 +207,9 @@
return ""
}
-func (m *ReportLogRequest) GetRequest() string {
+func (m *ReportLogRequest) GetInvocation() string {
if m != nil {
- return m.Request
+ return m.Invocation
}
return ""
}
@@ -262,9 +262,9 @@
// name MUST be unique across all artifacts archived from a single invocation
// request.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The request to archive artifacts for, identified by the
- // Invocation.Request.name field.
- Request string `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
+ // The invocation to report results for, identified by the Invocation.name
+ // field.
+ Invocation string `protobuf:"bytes,2,opt,name=invocation,proto3" json:"invocation,omitempty"`
// Absolute path to a file or directory to archive.
LocalPath string `protobuf:"bytes,3,opt,name=local_path,json=localPath,proto3" json:"local_path,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -304,9 +304,9 @@
return ""
}
-func (m *ArchiveArtifactRequest) GetRequest() string {
+func (m *ArchiveArtifactRequest) GetInvocation() string {
if m != nil {
- return m.Request
+ return m.Invocation
}
return ""
}
@@ -364,34 +364,34 @@
}
var fileDescriptor_5e83d657830dbeb4 = []byte{
- // 420 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0xcd, 0x6e, 0xd4, 0x30,
- 0x14, 0x85, 0x95, 0x76, 0x28, 0xe4, 0x32, 0x12, 0xe0, 0x22, 0x08, 0x11, 0x48, 0x43, 0x56, 0xd9,
- 0x60, 0xd3, 0xb4, 0xe2, 0xa7, 0xac, 0x4a, 0xc5, 0x8e, 0x45, 0x65, 0x58, 0xb1, 0x41, 0x26, 0x71,
- 0x13, 0x8b, 0x24, 0x0e, 0xf6, 0x9d, 0x88, 0x1d, 0x5b, 0x1e, 0x80, 0x07, 0x46, 0xb5, 0xd3, 0x4e,
- 0xfa, 0xa3, 0xe9, 0xcc, 0xec, 0x4e, 0xac, 0x7c, 0xe7, 0x9c, 0xf8, 0xe6, 0xc2, 0xeb, 0xbc, 0x32,
- 0xba, 0x51, 0xf3, 0x46, 0x5b, 0x96, 0xeb, 0xf6, 0x54, 0x95, 0x4c, 0x74, 0x8a, 0xa1, 0xb4, 0xc8,
- 0x0c, 0x16, 0xac, 0xdf, 0x63, 0x9d, 0xd1, 0xa5, 0x91, 0xd6, 0xd2, 0xce, 0x68, 0xd4, 0xe4, 0xe5,
- 0x82, 0xa0, 0x9e, 0xa0, 0xa2, 0x53, 0xf4, 0x8c, 0xa0, 0x06, 0x0b, 0xda, 0xef, 0xc5, 0xd9, 0x32,
- 0x53, 0x69, 0xe7, 0x35, 0x5a, 0xd6, 0x67, 0x83, 0xf4, 0xb6, 0x09, 0x85, 0xe8, 0x64, 0x08, 0xfa,
- 0xa2, 0xda, 0x9f, 0xc7, 0xb5, 0x92, 0x2d, 0x1e, 0x3b, 0x98, 0x10, 0x98, 0x74, 0xda, 0x60, 0x14,
- 0xcc, 0x82, 0xf4, 0x0e, 0x77, 0x3a, 0xe9, 0x61, 0x97, 0xcb, 0x33, 0xc5, 0x9d, 0x0b, 0x97, 0xbf,
- 0xe6, 0xd2, 0x22, 0x89, 0xe0, 0xae, 0xf1, 0xd2, 0xbd, 0x1d, 0xf2, 0xf3, 0x47, 0xf2, 0x09, 0x76,
- 0x7c, 0x60, 0xb4, 0x35, 0x0b, 0xd2, 0xfb, 0xd9, 0x2b, 0xba, 0xec, 0x43, 0x7c, 0x4b, 0xda, 0x67,
- 0x74, 0xf0, 0x1f, 0xe0, 0xe4, 0x00, 0x1e, 0x5f, 0xce, 0xb5, 0x9d, 0x6e, 0xad, 0x24, 0xcf, 0x21,
- 0x44, 0x69, 0x1a, 0xd5, 0x0a, 0x94, 0x2e, 0xfa, 0x1e, 0x5f, 0x1c, 0x24, 0x5f, 0xe1, 0xa1, 0xa7,
- 0x3e, 0xeb, 0xf2, 0xbc, 0x2a, 0x81, 0x49, 0x2b, 0x1a, 0x39, 0xf4, 0x74, 0x7a, 0x5c, 0x7f, 0xeb,
- 0x72, 0x7d, 0x02, 0x93, 0x42, 0xa0, 0x88, 0xb6, 0x67, 0x41, 0x3a, 0xe5, 0x4e, 0x27, 0xbb, 0xf0,
- 0x68, 0xe4, 0xea, 0x8b, 0x24, 0x12, 0x9e, 0x1c, 0x99, 0xbc, 0x52, 0xbd, 0x3c, 0x32, 0xa8, 0x4e,
- 0x45, 0x8e, 0x9b, 0x05, 0xbe, 0x00, 0xa8, 0x75, 0x2e, 0xea, 0xef, 0x9d, 0xc0, 0xca, 0xc5, 0x86,
- 0x3c, 0x74, 0x27, 0x27, 0x02, 0xab, 0xe4, 0x19, 0x3c, 0xbd, 0x16, 0xe3, 0x1b, 0x64, 0xff, 0xb6,
- 0x61, 0x3a, 0x9e, 0x25, 0xf9, 0x03, 0xd3, 0xf1, 0x9d, 0x91, 0x37, 0xf4, 0xd6, 0x7f, 0x88, 0xde,
- 0x30, 0xdc, 0xf8, 0xed, 0xda, 0xdc, 0x30, 0x9c, 0xdf, 0x10, 0x5e, 0x5c, 0x14, 0xd9, 0x5f, 0xd9,
- 0x65, 0x31, 0xac, 0xf8, 0x60, 0x3d, 0xc8, 0xe7, 0xa6, 0x01, 0xf9, 0x1b, 0xc0, 0x83, 0x2b, 0xf7,
- 0x44, 0xde, 0xaf, 0xe0, 0x75, 0xf3, 0x08, 0xe3, 0xc3, 0x4d, 0x50, 0x5f, 0xe6, 0xe3, 0xe1, 0xb7,
- 0x77, 0xa5, 0xbe, 0xe0, 0xa9, 0x36, 0x25, 0xbb, 0xbe, 0xa7, 0xa5, 0xbe, 0xba, 0xff, 0x1f, 0x0c,
- 0x16, 0x3f, 0x76, 0xdc, 0x92, 0xee, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xe6, 0x5e, 0x16, 0x23,
- 0x2f, 0x04, 0x00, 0x00,
+ // 427 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0x4f, 0x6f, 0xd4, 0x30,
+ 0x10, 0xc5, 0x95, 0x76, 0xa9, 0xc8, 0xb0, 0x12, 0xe0, 0x22, 0x58, 0x22, 0x40, 0x4b, 0x4e, 0xb9,
+ 0x60, 0xd3, 0xb4, 0xe2, 0x4f, 0x39, 0x95, 0x8a, 0x1b, 0x87, 0xca, 0xdc, 0x7a, 0x41, 0x26, 0x71,
+ 0x13, 0xab, 0x89, 0x1d, 0xec, 0xd9, 0x88, 0x03, 0x12, 0x57, 0x3e, 0x00, 0x1f, 0x18, 0xd5, 0x0e,
+ 0xdd, 0xb0, 0x5b, 0x95, 0x96, 0xde, 0x46, 0x23, 0xfd, 0xde, 0x7b, 0x33, 0x13, 0x07, 0x5e, 0x16,
+ 0xb5, 0x35, 0xad, 0x5a, 0xb4, 0xc6, 0xb1, 0xc2, 0xe8, 0x13, 0x55, 0x31, 0xd1, 0x29, 0x86, 0xd2,
+ 0x21, 0xb3, 0x58, 0xb2, 0x7e, 0x87, 0x75, 0xd6, 0x54, 0x56, 0x3a, 0x47, 0x3b, 0x6b, 0xd0, 0x90,
+ 0xe7, 0x4b, 0x82, 0x06, 0x82, 0x8a, 0x4e, 0xd1, 0x33, 0x82, 0x5a, 0x2c, 0x69, 0xbf, 0x93, 0xe4,
+ 0x97, 0x89, 0x4a, 0xb7, 0x68, 0xd0, 0xb1, 0x3e, 0x1f, 0xca, 0x20, 0x9b, 0x52, 0x98, 0x1d, 0x0d,
+ 0x46, 0x9f, 0x94, 0x3e, 0x3d, 0x6c, 0x94, 0xd4, 0x78, 0xe8, 0x61, 0x42, 0x60, 0xd2, 0x19, 0x8b,
+ 0xb3, 0x68, 0x1e, 0x65, 0xb7, 0xb8, 0xaf, 0xd3, 0xef, 0xb0, 0xcd, 0xe5, 0x59, 0xc5, 0xbd, 0x0a,
+ 0x97, 0x5f, 0x17, 0xd2, 0x21, 0x79, 0x06, 0xa0, 0x74, 0x6f, 0x0a, 0x81, 0xca, 0x68, 0x0f, 0xc4,
+ 0x7c, 0xd4, 0x21, 0x1f, 0x60, 0x2b, 0xd8, 0xce, 0x36, 0xe6, 0x51, 0x76, 0x27, 0x7f, 0x41, 0x2f,
+ 0x1b, 0x27, 0x64, 0xa5, 0x7d, 0x4e, 0x07, 0x97, 0x01, 0x4e, 0xf7, 0xe0, 0xc1, 0xdf, 0xee, 0xae,
+ 0x33, 0xda, 0x49, 0xf2, 0x04, 0x62, 0x94, 0xb6, 0x55, 0x5a, 0xa0, 0xf4, 0xee, 0xb7, 0xf9, 0xb2,
+ 0x91, 0x1e, 0xc3, 0xbd, 0x40, 0x7d, 0x34, 0xd5, 0x9f, 0xc0, 0x04, 0x26, 0x5a, 0xb4, 0x72, 0x88,
+ 0xea, 0xeb, 0x95, 0x21, 0x36, 0xd6, 0x86, 0x20, 0x30, 0x29, 0x05, 0x8a, 0xd9, 0xe6, 0x3c, 0xca,
+ 0xa6, 0xdc, 0xd7, 0xe9, 0x36, 0xdc, 0x1f, 0x69, 0x87, 0x38, 0xe9, 0x29, 0x3c, 0x3c, 0xb0, 0x45,
+ 0xad, 0x7a, 0x79, 0x60, 0x51, 0x9d, 0x88, 0x02, 0x6f, 0x62, 0xfb, 0x14, 0xa0, 0x31, 0x85, 0x68,
+ 0x3e, 0x77, 0x02, 0x6b, 0x6f, 0x1e, 0xf3, 0xd8, 0x77, 0x8e, 0x04, 0xd6, 0xe9, 0x63, 0x78, 0xb4,
+ 0x66, 0x16, 0x72, 0xe4, 0xbf, 0x36, 0x61, 0x3a, 0xbe, 0x2e, 0xf9, 0x01, 0xd3, 0xf1, 0xfe, 0xc8,
+ 0x2b, 0xfa, 0xcf, 0xaf, 0x8a, 0x5e, 0x70, 0xee, 0xe4, 0xf5, 0xb5, 0xb9, 0xe1, 0x50, 0xdf, 0x20,
+ 0x3e, 0x5f, 0x17, 0xd9, 0xbd, 0xb2, 0xca, 0xf2, 0x70, 0xc9, 0xde, 0xf5, 0xa0, 0xe0, 0x9b, 0x45,
+ 0xe4, 0x67, 0x04, 0x77, 0x57, 0xf6, 0x44, 0xde, 0x5e, 0x41, 0xeb, 0xe2, 0x43, 0x26, 0xfb, 0xff,
+ 0x83, 0x86, 0x30, 0xef, 0xf7, 0x8f, 0xdf, 0x54, 0xe6, 0x9c, 0xa7, 0xc6, 0x56, 0x6c, 0xfd, 0xe5,
+ 0x56, 0x66, 0xf5, 0x8f, 0xf0, 0xce, 0x62, 0xf9, 0x65, 0xcb, 0x3f, 0xdb, 0xdd, 0xdf, 0x01, 0x00,
+ 0x00, 0xff, 0xff, 0x3e, 0x65, 0x68, 0xd1, 0x41, 0x04, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/proto/chromiumos/config/api/test/rtd/v1/invocation.proto b/proto/chromiumos/config/api/test/rtd/v1/invocation.proto
index 594dc3e..5fc649d 100644
--- a/proto/chromiumos/config/api/test/rtd/v1/invocation.proto
+++ b/proto/chromiumos/config/api/test/rtd/v1/invocation.proto
@@ -15,41 +15,12 @@
// TODO(crbug.com/1051691): Link to a reference implementation of Remote Test
// Server & Remote Test Driver.
message Invocation {
- // Progress sink to be used to report progress of the Remote Test Driver
- // invocation to the surrounding Remote Test Server.
- ProgressSinkClientConfig progress_sink_client_config = 1;
-
- // Set of DUTs used for each of the requests in this invocation.
+ // A unique name for this invocation.
//
- // Contains more than one dut if the test execution is sharded.
- repeated DUT duts = 2;
-
- // Smallest unit of an invocation request for which results MUST be reported.
- //
- // An invocation MUST execute all requests serially in-order. This assumption
- // is necessary for future support of test sequences in test plans.
- repeated Request requests = 3;
-
- // Configuration information for using Test Lab Services to interact
- // with DUTs and their peripherals.
- TLSClientConfig test_lab_services_config = 4;
-}
-
-// Contains all configuration data required to interact with a single device
-// under test during a test invocation.
-message DUT {
- // Name for the DUT for using Test Lab Services to interact with the
- // device and its peripherals.
- //
- // The RTD MUST pass this to Test Lab Service RPCs that act on a particular
- // DUT. See the tls.OpenDutPortRequest message for an example of where
- // this is used.
- string tls_dut_name = 1;
-}
-
-// Request for execution of a single test.metadata.Test
-message Request {
- // name MUST be unique across all requests in this invocation.
+ // ProgressSink methods require the inclusion of this value in reported
+ // results. This provides additional safety from leaked Remote Test Driver
+ // processes in the case that a single container is used to run multiple
+ // invocations sequentially.
//
// Remote Test Drivers are recommended to use name as the opaque tag
// required by the Test Lab Services API. Thus, name SHOULD be unique across
@@ -59,14 +30,26 @@
// Test Lab Services API: tls/README.md
string name = 1;
+ // Progress sink to be used to report progress of the Remote Test Driver
+ // invocation to the surrounding Remote Test Server.
+ ProgressSinkClientConfig progress_sink_client_config = 2;
+
+ // Configuration information for using Test Lab Services to interact
+ // with DUTs and their peripherals.
+ TLSClientConfig test_lab_services_config = 3;
+
+ // Set of DUTs usable in this invocation.
+ //
+ // Contains more than one dut if the test execution is sharded.
+ repeated DUT duts = 4;
+
// The test to execute, identified by the test.metadata.Test.name field.
//
- // Note that the request does not contain a reference to the Remote Test
- // Driver to use, as the request is an input to the Remote Test Driver
- // invocation.
- string test = 2;
+ // Note that the invocation does not contain a reference to the Remote Test
+ // Driver to use.
+ string test = 5;
- // Per-request Remote Test Server environment configuration.
+ // Per-invocation Remote Test Server environment configuration.
message Environment {
// Absolute path to a directory for writing arbitrary files.
//
@@ -82,22 +65,23 @@
// Remote Test Servers may archive the work_dir contents to non-ephemeral
// storage as a best effort asynchronous task.
string work_dir = 1;
-
- // Absolute path to a directory for writing temporary files.
- //
- // This directory MUST be created by Remote Test Server prior to the Remote
- // Test Driver invocation.
- //
- // Remote Test Drivers MUST use this directory for temporary files and MUST
- // NOT attempt to use defaults like /tmp or the TMP environment variable.
- //
- // See also: Environment.work_dir
- string temp_dir = 2;
}
// Environment configuration set by the Remote Test Server for a specific
- // request of the Remote Test Driver.
- Environment environment = 3;
+ // invocation of the Remote Test Driver.
+ Environment environment = 6;
+}
+
+// Contains all configuration data required to interact with a single device
+// under test during a test invocation.
+message DUT {
+ // Name for the DUT for using Test Lab Services to interact with the
+ // device and its peripherals.
+ //
+ // The RTD MUST pass this to Test Lab Service RPCs that act on a particular
+ // DUT. See the tls.OpenDutPortRequest message for an example of where
+ // this is used.
+ string tls_dut_name = 1;
}
// Configuration information required for using Test Lab & Wiring Services.
diff --git a/proto/chromiumos/config/api/test/rtd/v1/progress.proto b/proto/chromiumos/config/api/test/rtd/v1/progress.proto
index 6afab8f..3cdabc1 100644
--- a/proto/chromiumos/config/api/test/rtd/v1/progress.proto
+++ b/proto/chromiumos/config/api/test/rtd/v1/progress.proto
@@ -58,9 +58,9 @@
}
message ReportResultRequest {
- // The request to report results for, identified by the
- // Invocation.Request.name field.
- string request = 1;
+ // The invocation to report results for, identified by the Invocation.name
+ // field.
+ string invocation = 1;
// Result to report.
chromiumos.config.api.test.results.v2.Result result = 2;
@@ -80,9 +80,9 @@
// file path.
string name = 1;
- // The request to report logs for, identified by the
- // Invocation.Request.name field.
- string request = 2;
+ // The invocation to report results for, identified by the Invocation.name
+ // field.
+ string invocation = 2;
// Uninterpreted chunk of log-data.
bytes data = 3;
@@ -101,9 +101,9 @@
// request.
string name = 1;
- // The request to archive artifacts for, identified by the
- // Invocation.Request.name field.
- string request = 2;
+ // The invocation to report results for, identified by the Invocation.name
+ // field.
+ string invocation = 2;
// Absolute path to a file or directory to archive.
string local_path = 3;
diff --git a/python/chromiumos/config/api/test/rtd/v1/invocation_pb2.py b/python/chromiumos/config/api/test/rtd/v1/invocation_pb2.py
index 4413692..cdac9ab 100644
--- a/python/chromiumos/config/api/test/rtd/v1/invocation_pb2.py
+++ b/python/chromiumos/config/api/test/rtd/v1/invocation_pb2.py
@@ -20,45 +20,24 @@
package='chromiumos.config.api.test.rtd.v1',
syntax='proto3',
serialized_options=_b('Z8go.chromium.org/chromiumos/config/go/api/test/rtd/v1;rtd'),
- serialized_pb=_b('\n2chromiumos/config/api/test/rtd/v1/invocation.proto\x12!chromiumos.config.api.test.rtd.v1\x1a\x30\x63hromiumos/config/api/test/rtd/v1/progress.proto\"\xb8\x02\n\nInvocation\x12`\n\x1bprogress_sink_client_config\x18\x01 \x01(\x0b\x32;.chromiumos.config.api.test.rtd.v1.ProgressSinkClientConfig\x12\x34\n\x04\x64uts\x18\x02 \x03(\x0b\x32&.chromiumos.config.api.test.rtd.v1.DUT\x12<\n\x08requests\x18\x03 \x03(\x0b\x32*.chromiumos.config.api.test.rtd.v1.Request\x12T\n\x18test_lab_services_config\x18\x04 \x01(\x0b\x32\x32.chromiumos.config.api.test.rtd.v1.TLSClientConfig\"\x1b\n\x03\x44UT\x12\x14\n\x0ctls_dut_name\x18\x01 \x01(\t\"\xa5\x01\n\x07Request\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04test\x18\x02 \x01(\t\x12K\n\x0b\x65nvironment\x18\x03 \x01(\x0b\x32\x36.chromiumos.config.api.test.rtd.v1.Request.Environment\x1a\x31\n\x0b\x45nvironment\x12\x10\n\x08work_dir\x18\x01 \x01(\t\x12\x10\n\x08temp_dir\x18\x02 \x01(\t\"_\n\x0fTLSClientConfig\x12\x13\n\x0btls_address\x18\x01 \x01(\t\x12\x10\n\x08tls_port\x18\x02 \x01(\x05\x12\x13\n\x0btlw_address\x18\x03 \x01(\t\x12\x10\n\x08tlw_port\x18\x04 \x01(\x05\x42:Z8go.chromium.org/chromiumos/config/go/api/test/rtd/v1;rtdb\x06proto3')
+ serialized_pb=_b('\n2chromiumos/config/api/test/rtd/v1/invocation.proto\x12!chromiumos.config.api.test.rtd.v1\x1a\x30\x63hromiumos/config/api/test/rtd/v1/progress.proto\"\x87\x03\n\nInvocation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12`\n\x1bprogress_sink_client_config\x18\x02 \x01(\x0b\x32;.chromiumos.config.api.test.rtd.v1.ProgressSinkClientConfig\x12T\n\x18test_lab_services_config\x18\x03 \x01(\x0b\x32\x32.chromiumos.config.api.test.rtd.v1.TLSClientConfig\x12\x34\n\x04\x64uts\x18\x04 \x03(\x0b\x32&.chromiumos.config.api.test.rtd.v1.DUT\x12\x0c\n\x04test\x18\x05 \x01(\t\x12N\n\x0b\x65nvironment\x18\x06 \x01(\x0b\x32\x39.chromiumos.config.api.test.rtd.v1.Invocation.Environment\x1a\x1f\n\x0b\x45nvironment\x12\x10\n\x08work_dir\x18\x01 \x01(\t\"\x1b\n\x03\x44UT\x12\x14\n\x0ctls_dut_name\x18\x01 \x01(\t\"_\n\x0fTLSClientConfig\x12\x13\n\x0btls_address\x18\x01 \x01(\t\x12\x10\n\x08tls_port\x18\x02 \x01(\x05\x12\x13\n\x0btlw_address\x18\x03 \x01(\t\x12\x10\n\x08tlw_port\x18\x04 \x01(\x05\x42:Z8go.chromium.org/chromiumos/config/go/api/test/rtd/v1;rtdb\x06proto3')
,
dependencies=[chromiumos_dot_config_dot_api_dot_test_dot_rtd_dot_v1_dot_progress__pb2.DESCRIPTOR,])
-_INVOCATION = _descriptor.Descriptor(
- name='Invocation',
- full_name='chromiumos.config.api.test.rtd.v1.Invocation',
+_INVOCATION_ENVIRONMENT = _descriptor.Descriptor(
+ name='Environment',
+ full_name='chromiumos.config.api.test.rtd.v1.Invocation.Environment',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
- name='progress_sink_client_config', full_name='chromiumos.config.api.test.rtd.v1.Invocation.progress_sink_client_config', index=0,
- number=1, type=11, cpp_type=10, label=1,
- has_default_value=False, default_value=None,
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- serialized_options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='duts', full_name='chromiumos.config.api.test.rtd.v1.Invocation.duts', index=1,
- number=2, type=11, cpp_type=10, label=3,
- has_default_value=False, default_value=[],
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- serialized_options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='requests', full_name='chromiumos.config.api.test.rtd.v1.Invocation.requests', index=2,
- number=3, type=11, cpp_type=10, label=3,
- has_default_value=False, default_value=[],
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- serialized_options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='test_lab_services_config', full_name='chromiumos.config.api.test.rtd.v1.Invocation.test_lab_services_config', index=3,
- number=4, type=11, cpp_type=10, label=1,
- has_default_value=False, default_value=None,
+ name='work_dir', full_name='chromiumos.config.api.test.rtd.v1.Invocation.Environment.work_dir', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
@@ -74,8 +53,73 @@
extension_ranges=[],
oneofs=[
],
+ serialized_start=500,
+ serialized_end=531,
+)
+
+_INVOCATION = _descriptor.Descriptor(
+ name='Invocation',
+ full_name='chromiumos.config.api.test.rtd.v1.Invocation',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='name', full_name='chromiumos.config.api.test.rtd.v1.Invocation.name', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='progress_sink_client_config', full_name='chromiumos.config.api.test.rtd.v1.Invocation.progress_sink_client_config', index=1,
+ number=2, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='test_lab_services_config', full_name='chromiumos.config.api.test.rtd.v1.Invocation.test_lab_services_config', index=2,
+ number=3, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='duts', full_name='chromiumos.config.api.test.rtd.v1.Invocation.duts', index=3,
+ number=4, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='test', full_name='chromiumos.config.api.test.rtd.v1.Invocation.test', index=4,
+ number=5, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='environment', full_name='chromiumos.config.api.test.rtd.v1.Invocation.environment', index=5,
+ number=6, type=11, cpp_type=10, label=1,
+ has_default_value=False, default_value=None,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ serialized_options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[_INVOCATION_ENVIRONMENT, ],
+ enum_types=[
+ ],
+ serialized_options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
serialized_start=140,
- serialized_end=452,
+ serialized_end=531,
)
@@ -105,90 +149,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=454,
- serialized_end=481,
-)
-
-
-_REQUEST_ENVIRONMENT = _descriptor.Descriptor(
- name='Environment',
- full_name='chromiumos.config.api.test.rtd.v1.Request.Environment',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- _descriptor.FieldDescriptor(
- name='work_dir', full_name='chromiumos.config.api.test.rtd.v1.Request.Environment.work_dir', index=0,
- number=1, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=_b("").decode('utf-8'),
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- serialized_options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='temp_dir', full_name='chromiumos.config.api.test.rtd.v1.Request.Environment.temp_dir', index=1,
- number=2, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=_b("").decode('utf-8'),
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- serialized_options=None, file=DESCRIPTOR),
- ],
- extensions=[
- ],
- nested_types=[],
- enum_types=[
- ],
- serialized_options=None,
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=600,
- serialized_end=649,
-)
-
-_REQUEST = _descriptor.Descriptor(
- name='Request',
- full_name='chromiumos.config.api.test.rtd.v1.Request',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- _descriptor.FieldDescriptor(
- name='name', full_name='chromiumos.config.api.test.rtd.v1.Request.name', index=0,
- number=1, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=_b("").decode('utf-8'),
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- serialized_options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='test', full_name='chromiumos.config.api.test.rtd.v1.Request.test', index=1,
- number=2, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=_b("").decode('utf-8'),
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- serialized_options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='environment', full_name='chromiumos.config.api.test.rtd.v1.Request.environment', index=2,
- number=3, type=11, cpp_type=10, label=1,
- has_default_value=False, default_value=None,
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- serialized_options=None, file=DESCRIPTOR),
- ],
- extensions=[
- ],
- nested_types=[_REQUEST_ENVIRONMENT, ],
- enum_types=[
- ],
- serialized_options=None,
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=484,
- serialized_end=649,
+ serialized_start=533,
+ serialized_end=560,
)
@@ -239,28 +201,34 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=651,
- serialized_end=746,
+ serialized_start=562,
+ serialized_end=657,
)
+_INVOCATION_ENVIRONMENT.containing_type = _INVOCATION
_INVOCATION.fields_by_name['progress_sink_client_config'].message_type = chromiumos_dot_config_dot_api_dot_test_dot_rtd_dot_v1_dot_progress__pb2._PROGRESSSINKCLIENTCONFIG
-_INVOCATION.fields_by_name['duts'].message_type = _DUT
-_INVOCATION.fields_by_name['requests'].message_type = _REQUEST
_INVOCATION.fields_by_name['test_lab_services_config'].message_type = _TLSCLIENTCONFIG
-_REQUEST_ENVIRONMENT.containing_type = _REQUEST
-_REQUEST.fields_by_name['environment'].message_type = _REQUEST_ENVIRONMENT
+_INVOCATION.fields_by_name['duts'].message_type = _DUT
+_INVOCATION.fields_by_name['environment'].message_type = _INVOCATION_ENVIRONMENT
DESCRIPTOR.message_types_by_name['Invocation'] = _INVOCATION
DESCRIPTOR.message_types_by_name['DUT'] = _DUT
-DESCRIPTOR.message_types_by_name['Request'] = _REQUEST
DESCRIPTOR.message_types_by_name['TLSClientConfig'] = _TLSCLIENTCONFIG
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
Invocation = _reflection.GeneratedProtocolMessageType('Invocation', (_message.Message,), dict(
+
+ Environment = _reflection.GeneratedProtocolMessageType('Environment', (_message.Message,), dict(
+ DESCRIPTOR = _INVOCATION_ENVIRONMENT,
+ __module__ = 'chromiumos.config.api.test.rtd.v1.invocation_pb2'
+ # @@protoc_insertion_point(class_scope:chromiumos.config.api.test.rtd.v1.Invocation.Environment)
+ ))
+ ,
DESCRIPTOR = _INVOCATION,
__module__ = 'chromiumos.config.api.test.rtd.v1.invocation_pb2'
# @@protoc_insertion_point(class_scope:chromiumos.config.api.test.rtd.v1.Invocation)
))
_sym_db.RegisterMessage(Invocation)
+_sym_db.RegisterMessage(Invocation.Environment)
DUT = _reflection.GeneratedProtocolMessageType('DUT', (_message.Message,), dict(
DESCRIPTOR = _DUT,
@@ -269,21 +237,6 @@
))
_sym_db.RegisterMessage(DUT)
-Request = _reflection.GeneratedProtocolMessageType('Request', (_message.Message,), dict(
-
- Environment = _reflection.GeneratedProtocolMessageType('Environment', (_message.Message,), dict(
- DESCRIPTOR = _REQUEST_ENVIRONMENT,
- __module__ = 'chromiumos.config.api.test.rtd.v1.invocation_pb2'
- # @@protoc_insertion_point(class_scope:chromiumos.config.api.test.rtd.v1.Request.Environment)
- ))
- ,
- DESCRIPTOR = _REQUEST,
- __module__ = 'chromiumos.config.api.test.rtd.v1.invocation_pb2'
- # @@protoc_insertion_point(class_scope:chromiumos.config.api.test.rtd.v1.Request)
- ))
-_sym_db.RegisterMessage(Request)
-_sym_db.RegisterMessage(Request.Environment)
-
TLSClientConfig = _reflection.GeneratedProtocolMessageType('TLSClientConfig', (_message.Message,), dict(
DESCRIPTOR = _TLSCLIENTCONFIG,
__module__ = 'chromiumos.config.api.test.rtd.v1.invocation_pb2'
diff --git a/python/chromiumos/config/api/test/rtd/v1/progress_pb2.py b/python/chromiumos/config/api/test/rtd/v1/progress_pb2.py
index 4252c84..5c001a7 100644
--- a/python/chromiumos/config/api/test/rtd/v1/progress_pb2.py
+++ b/python/chromiumos/config/api/test/rtd/v1/progress_pb2.py
@@ -20,7 +20,7 @@
package='chromiumos.config.api.test.rtd.v1',
syntax='proto3',
serialized_options=_b('Z8go.chromium.org/chromiumos/config/go/api/test/rtd/v1;rtd'),
- serialized_pb=_b('\n0chromiumos/config/api/test/rtd/v1/progress.proto\x12!chromiumos.config.api.test.rtd.v1\x1a\x32\x63hromiumos/config/api/test/results/v2/result.proto\"(\n\x18ProgressSinkClientConfig\x12\x0c\n\x04port\x18\x01 \x01(\x05\"e\n\x13ReportResultRequest\x12\x0f\n\x07request\x18\x01 \x01(\t\x12=\n\x06result\x18\x02 \x01(\x0b\x32-.chromiumos.config.api.test.results.v2.Result\")\n\x14ReportResultResponse\x12\x11\n\tterminate\x18\x01 \x01(\x08\"?\n\x10ReportLogRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07request\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\x13\n\x11ReportLogResponse\"K\n\x16\x41rchiveArtifactRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07request\x18\x02 \x01(\t\x12\x12\n\nlocal_path\x18\x03 \x01(\t\"\x19\n\x17\x41rchiveArtifactResponse2\x94\x03\n\x0cProgressSink\x12\x7f\n\x0cReportResult\x12\x36.chromiumos.config.api.test.rtd.v1.ReportResultRequest\x1a\x37.chromiumos.config.api.test.rtd.v1.ReportResultResponse\x12x\n\tReportLog\x12\x33.chromiumos.config.api.test.rtd.v1.ReportLogRequest\x1a\x34.chromiumos.config.api.test.rtd.v1.ReportLogResponse(\x01\x12\x88\x01\n\x0f\x41rchiveArtifact\x12\x39.chromiumos.config.api.test.rtd.v1.ArchiveArtifactRequest\x1a:.chromiumos.config.api.test.rtd.v1.ArchiveArtifactResponseB:Z8go.chromium.org/chromiumos/config/go/api/test/rtd/v1;rtdb\x06proto3')
+ serialized_pb=_b('\n0chromiumos/config/api/test/rtd/v1/progress.proto\x12!chromiumos.config.api.test.rtd.v1\x1a\x32\x63hromiumos/config/api/test/results/v2/result.proto\"(\n\x18ProgressSinkClientConfig\x12\x0c\n\x04port\x18\x01 \x01(\x05\"h\n\x13ReportResultRequest\x12\x12\n\ninvocation\x18\x01 \x01(\t\x12=\n\x06result\x18\x02 \x01(\x0b\x32-.chromiumos.config.api.test.results.v2.Result\")\n\x14ReportResultResponse\x12\x11\n\tterminate\x18\x01 \x01(\x08\"B\n\x10ReportLogRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\ninvocation\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\x13\n\x11ReportLogResponse\"N\n\x16\x41rchiveArtifactRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\ninvocation\x18\x02 \x01(\t\x12\x12\n\nlocal_path\x18\x03 \x01(\t\"\x19\n\x17\x41rchiveArtifactResponse2\x94\x03\n\x0cProgressSink\x12\x7f\n\x0cReportResult\x12\x36.chromiumos.config.api.test.rtd.v1.ReportResultRequest\x1a\x37.chromiumos.config.api.test.rtd.v1.ReportResultResponse\x12x\n\tReportLog\x12\x33.chromiumos.config.api.test.rtd.v1.ReportLogRequest\x1a\x34.chromiumos.config.api.test.rtd.v1.ReportLogResponse(\x01\x12\x88\x01\n\x0f\x41rchiveArtifact\x12\x39.chromiumos.config.api.test.rtd.v1.ArchiveArtifactRequest\x1a:.chromiumos.config.api.test.rtd.v1.ArchiveArtifactResponseB:Z8go.chromium.org/chromiumos/config/go/api/test/rtd/v1;rtdb\x06proto3')
,
dependencies=[chromiumos_dot_config_dot_api_dot_test_dot_results_dot_v2_dot_result__pb2.DESCRIPTOR,])
@@ -66,7 +66,7 @@
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
- name='request', full_name='chromiumos.config.api.test.rtd.v1.ReportResultRequest.request', index=0,
+ name='invocation', full_name='chromiumos.config.api.test.rtd.v1.ReportResultRequest.invocation', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
@@ -92,7 +92,7 @@
oneofs=[
],
serialized_start=181,
- serialized_end=282,
+ serialized_end=285,
)
@@ -122,8 +122,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=284,
- serialized_end=325,
+ serialized_start=287,
+ serialized_end=328,
)
@@ -142,7 +142,7 @@
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='request', full_name='chromiumos.config.api.test.rtd.v1.ReportLogRequest.request', index=1,
+ name='invocation', full_name='chromiumos.config.api.test.rtd.v1.ReportLogRequest.invocation', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
@@ -167,8 +167,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=327,
- serialized_end=390,
+ serialized_start=330,
+ serialized_end=396,
)
@@ -191,8 +191,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=392,
- serialized_end=411,
+ serialized_start=398,
+ serialized_end=417,
)
@@ -211,7 +211,7 @@
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
- name='request', full_name='chromiumos.config.api.test.rtd.v1.ArchiveArtifactRequest.request', index=1,
+ name='invocation', full_name='chromiumos.config.api.test.rtd.v1.ArchiveArtifactRequest.invocation', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
@@ -236,8 +236,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=413,
- serialized_end=488,
+ serialized_start=419,
+ serialized_end=497,
)
@@ -260,8 +260,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=490,
- serialized_end=515,
+ serialized_start=499,
+ serialized_end=524,
)
_REPORTRESULTREQUEST.fields_by_name['result'].message_type = chromiumos_dot_config_dot_api_dot_test_dot_results_dot_v2_dot_result__pb2._RESULT
@@ -332,8 +332,8 @@
file=DESCRIPTOR,
index=0,
serialized_options=None,
- serialized_start=518,
- serialized_end=922,
+ serialized_start=527,
+ serialized_end=931,
methods=[
_descriptor.MethodDescriptor(
name='ReportResult',