go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/resultdb/sink/proto/v1/test_result.pb.go (about)

     1  // Copyright 2019 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.31.0
    18  // 	protoc        v3.21.7
    19  // source: go.chromium.org/luci/resultdb/sink/proto/v1/test_result.proto
    20  
    21  package sinkpb
    22  
    23  import (
    24  	v1 "go.chromium.org/luci/resultdb/proto/v1"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    28  	structpb "google.golang.org/protobuf/types/known/structpb"
    29  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    30  	reflect "reflect"
    31  	sync "sync"
    32  )
    33  
    34  const (
    35  	// Verify that this generated code is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    37  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    39  )
    40  
    41  // A result file format.
    42  type TestResultFile_Format int32
    43  
    44  const (
    45  	// The file is a sequence of TestResult JSON objects (not a JSON Array).
    46  	// The default format.
    47  	TestResultFile_LUCI TestResultFile_Format = 0
    48  	// Chromium's JSON Test Results format
    49  	// https://chromium.googlesource.com/chromium/src/+/master/docs/testing/json_test_results_format.md
    50  	TestResultFile_CHROMIUM_JSON_TEST_RESULTS TestResultFile_Format = 1
    51  	// GTest format.
    52  	// Not well documented.
    53  	// Implementation:
    54  	// https://cs.chromium.org/chromium/src/base/test/launcher/test_results_tracker.cc
    55  	TestResultFile_GOOGLE_TEST TestResultFile_Format = 2
    56  )
    57  
    58  // Enum value maps for TestResultFile_Format.
    59  var (
    60  	TestResultFile_Format_name = map[int32]string{
    61  		0: "LUCI",
    62  		1: "CHROMIUM_JSON_TEST_RESULTS",
    63  		2: "GOOGLE_TEST",
    64  	}
    65  	TestResultFile_Format_value = map[string]int32{
    66  		"LUCI":                       0,
    67  		"CHROMIUM_JSON_TEST_RESULTS": 1,
    68  		"GOOGLE_TEST":                2,
    69  	}
    70  )
    71  
    72  func (x TestResultFile_Format) Enum() *TestResultFile_Format {
    73  	p := new(TestResultFile_Format)
    74  	*p = x
    75  	return p
    76  }
    77  
    78  func (x TestResultFile_Format) String() string {
    79  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    80  }
    81  
    82  func (TestResultFile_Format) Descriptor() protoreflect.EnumDescriptor {
    83  	return file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_enumTypes[0].Descriptor()
    84  }
    85  
    86  func (TestResultFile_Format) Type() protoreflect.EnumType {
    87  	return &file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_enumTypes[0]
    88  }
    89  
    90  func (x TestResultFile_Format) Number() protoreflect.EnumNumber {
    91  	return protoreflect.EnumNumber(x)
    92  }
    93  
    94  // Deprecated: Use TestResultFile_Format.Descriptor instead.
    95  func (TestResultFile_Format) EnumDescriptor() ([]byte, []int) {
    96  	return file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescGZIP(), []int{2, 0}
    97  }
    98  
    99  // A local equivalent of luci.resultdb.TestResult message
   100  // in ../../v1/test_result.proto.
   101  // See its comments for details.
   102  type TestResult struct {
   103  	state         protoimpl.MessageState
   104  	sizeCache     protoimpl.SizeCache
   105  	unknownFields protoimpl.UnknownFields
   106  
   107  	// Equivalent of luci.resultdb.v1.TestResult.TestId.
   108  	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
   109  	// Equivalent of luci.resultdb.v1.TestResult.result_id.
   110  	//
   111  	// If omitted, a random, unique ID is generated..
   112  	ResultId string `protobuf:"bytes,2,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
   113  	// Equivalent of luci.resultdb.v1.TestResult.expected.
   114  	Expected bool `protobuf:"varint,3,opt,name=expected,proto3" json:"expected,omitempty"`
   115  	// Equivalent of luci.resultdb.v1.TestResult.status.
   116  	Status v1.TestStatus `protobuf:"varint,4,opt,name=status,proto3,enum=luci.resultdb.v1.TestStatus" json:"status,omitempty"`
   117  	// Equivalent of luci.resultdb.v1.TestResult.summary_html.
   118  	SummaryHtml string `protobuf:"bytes,5,opt,name=summary_html,json=summaryHtml,proto3" json:"summary_html,omitempty"`
   119  	// Equivalent of luci.resultdb.v1.TestResult.start_time.
   120  	StartTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
   121  	// Equivalent of luci.resultdb.v1.TestResult.duration.
   122  	Duration *durationpb.Duration `protobuf:"bytes,7,opt,name=duration,proto3" json:"duration,omitempty"`
   123  	// Equivalent of luci.resultdb.v1.TestResult.tags.
   124  	Tags []*v1.StringPair `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"`
   125  	// Artifacts to upload and associate with this test result.
   126  	// The map key is an artifact id.
   127  	Artifacts map[string]*Artifact `protobuf:"bytes,9,rep,name=artifacts,proto3" json:"artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   128  	// Equivalent of luci.resultdb.v1.TestResult.test_metadata.
   129  	TestMetadata *v1.TestMetadata `protobuf:"bytes,11,opt,name=test_metadata,json=testMetadata,proto3" json:"test_metadata,omitempty"`
   130  	// Equivalent of luci.resultdb.v1.TestResult.failure_reason.
   131  	FailureReason *v1.FailureReason `protobuf:"bytes,12,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
   132  	// Equivalent of luci.resultdb.v1.TestResult.variant.
   133  	// The variant for all test cases should be passed by command line args to rdb
   134  	// stream, however you can override or add to the variant on a per test case
   135  	// basis using this field.
   136  	Variant *v1.Variant `protobuf:"bytes,13,opt,name=variant,proto3" json:"variant,omitempty"`
   137  	// Arbitrary JSON object that contains structured, domain-specific properties
   138  	// of the test result.
   139  	//
   140  	// The serialized size must be <= 4096 bytes.
   141  	Properties *structpb.Struct `protobuf:"bytes,14,opt,name=properties,proto3" json:"properties,omitempty"`
   142  }
   143  
   144  func (x *TestResult) Reset() {
   145  	*x = TestResult{}
   146  	if protoimpl.UnsafeEnabled {
   147  		mi := &file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[0]
   148  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   149  		ms.StoreMessageInfo(mi)
   150  	}
   151  }
   152  
   153  func (x *TestResult) String() string {
   154  	return protoimpl.X.MessageStringOf(x)
   155  }
   156  
   157  func (*TestResult) ProtoMessage() {}
   158  
   159  func (x *TestResult) ProtoReflect() protoreflect.Message {
   160  	mi := &file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[0]
   161  	if protoimpl.UnsafeEnabled && x != nil {
   162  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   163  		if ms.LoadMessageInfo() == nil {
   164  			ms.StoreMessageInfo(mi)
   165  		}
   166  		return ms
   167  	}
   168  	return mi.MessageOf(x)
   169  }
   170  
   171  // Deprecated: Use TestResult.ProtoReflect.Descriptor instead.
   172  func (*TestResult) Descriptor() ([]byte, []int) {
   173  	return file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescGZIP(), []int{0}
   174  }
   175  
   176  func (x *TestResult) GetTestId() string {
   177  	if x != nil {
   178  		return x.TestId
   179  	}
   180  	return ""
   181  }
   182  
   183  func (x *TestResult) GetResultId() string {
   184  	if x != nil {
   185  		return x.ResultId
   186  	}
   187  	return ""
   188  }
   189  
   190  func (x *TestResult) GetExpected() bool {
   191  	if x != nil {
   192  		return x.Expected
   193  	}
   194  	return false
   195  }
   196  
   197  func (x *TestResult) GetStatus() v1.TestStatus {
   198  	if x != nil {
   199  		return x.Status
   200  	}
   201  	return v1.TestStatus(0)
   202  }
   203  
   204  func (x *TestResult) GetSummaryHtml() string {
   205  	if x != nil {
   206  		return x.SummaryHtml
   207  	}
   208  	return ""
   209  }
   210  
   211  func (x *TestResult) GetStartTime() *timestamppb.Timestamp {
   212  	if x != nil {
   213  		return x.StartTime
   214  	}
   215  	return nil
   216  }
   217  
   218  func (x *TestResult) GetDuration() *durationpb.Duration {
   219  	if x != nil {
   220  		return x.Duration
   221  	}
   222  	return nil
   223  }
   224  
   225  func (x *TestResult) GetTags() []*v1.StringPair {
   226  	if x != nil {
   227  		return x.Tags
   228  	}
   229  	return nil
   230  }
   231  
   232  func (x *TestResult) GetArtifacts() map[string]*Artifact {
   233  	if x != nil {
   234  		return x.Artifacts
   235  	}
   236  	return nil
   237  }
   238  
   239  func (x *TestResult) GetTestMetadata() *v1.TestMetadata {
   240  	if x != nil {
   241  		return x.TestMetadata
   242  	}
   243  	return nil
   244  }
   245  
   246  func (x *TestResult) GetFailureReason() *v1.FailureReason {
   247  	if x != nil {
   248  		return x.FailureReason
   249  	}
   250  	return nil
   251  }
   252  
   253  func (x *TestResult) GetVariant() *v1.Variant {
   254  	if x != nil {
   255  		return x.Variant
   256  	}
   257  	return nil
   258  }
   259  
   260  func (x *TestResult) GetProperties() *structpb.Struct {
   261  	if x != nil {
   262  		return x.Properties
   263  	}
   264  	return nil
   265  }
   266  
   267  // A local equivalent of luci.resultdb.Artifact message
   268  // in ../../rpc/v1/artifact.proto.
   269  // See its comments for details.
   270  // Does not have a name or artifact_id because they are represented by the
   271  // TestResult.artifacts map key.
   272  // Next id: 5
   273  type Artifact struct {
   274  	state         protoimpl.MessageState
   275  	sizeCache     protoimpl.SizeCache
   276  	unknownFields protoimpl.UnknownFields
   277  
   278  	// Body should be only one of the following:
   279  	// - file_path (file should exist. contents & gcs_uri should not be set)
   280  	// - contents (file_path & gcs_uri should not be set)
   281  	// - gcs_uri for GCS artifact (file_path & contents should not be set)
   282  	//
   283  	// Types that are assignable to Body:
   284  	//
   285  	//	*Artifact_FilePath
   286  	//	*Artifact_Contents
   287  	//	*Artifact_GcsUri
   288  	Body isArtifact_Body `protobuf_oneof:"body"`
   289  	// Equivalent of luci.resultdb.v1.Artifact.content_type.
   290  	ContentType string `protobuf:"bytes,3,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
   291  }
   292  
   293  func (x *Artifact) Reset() {
   294  	*x = Artifact{}
   295  	if protoimpl.UnsafeEnabled {
   296  		mi := &file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[1]
   297  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   298  		ms.StoreMessageInfo(mi)
   299  	}
   300  }
   301  
   302  func (x *Artifact) String() string {
   303  	return protoimpl.X.MessageStringOf(x)
   304  }
   305  
   306  func (*Artifact) ProtoMessage() {}
   307  
   308  func (x *Artifact) ProtoReflect() protoreflect.Message {
   309  	mi := &file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[1]
   310  	if protoimpl.UnsafeEnabled && x != nil {
   311  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   312  		if ms.LoadMessageInfo() == nil {
   313  			ms.StoreMessageInfo(mi)
   314  		}
   315  		return ms
   316  	}
   317  	return mi.MessageOf(x)
   318  }
   319  
   320  // Deprecated: Use Artifact.ProtoReflect.Descriptor instead.
   321  func (*Artifact) Descriptor() ([]byte, []int) {
   322  	return file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescGZIP(), []int{1}
   323  }
   324  
   325  func (m *Artifact) GetBody() isArtifact_Body {
   326  	if m != nil {
   327  		return m.Body
   328  	}
   329  	return nil
   330  }
   331  
   332  func (x *Artifact) GetFilePath() string {
   333  	if x, ok := x.GetBody().(*Artifact_FilePath); ok {
   334  		return x.FilePath
   335  	}
   336  	return ""
   337  }
   338  
   339  func (x *Artifact) GetContents() []byte {
   340  	if x, ok := x.GetBody().(*Artifact_Contents); ok {
   341  		return x.Contents
   342  	}
   343  	return nil
   344  }
   345  
   346  func (x *Artifact) GetGcsUri() string {
   347  	if x, ok := x.GetBody().(*Artifact_GcsUri); ok {
   348  		return x.GcsUri
   349  	}
   350  	return ""
   351  }
   352  
   353  func (x *Artifact) GetContentType() string {
   354  	if x != nil {
   355  		return x.ContentType
   356  	}
   357  	return ""
   358  }
   359  
   360  type isArtifact_Body interface {
   361  	isArtifact_Body()
   362  }
   363  
   364  type Artifact_FilePath struct {
   365  	// Absolute path to the artifact file on the same machine as the
   366  	// ResultSink server.
   367  	FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3,oneof"`
   368  }
   369  
   370  type Artifact_Contents struct {
   371  	// Contents of the artifact. Useful when sending a file from a different
   372  	// machine.
   373  	// TODO(nodir, sajjadm): allow sending contents in chunks.
   374  	Contents []byte `protobuf:"bytes,2,opt,name=contents,proto3,oneof"`
   375  }
   376  
   377  type Artifact_GcsUri struct {
   378  	// The GCS URI of the artifact if it's stored in GCS.
   379  	GcsUri string `protobuf:"bytes,4,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`
   380  }
   381  
   382  func (*Artifact_FilePath) isArtifact_Body() {}
   383  
   384  func (*Artifact_Contents) isArtifact_Body() {}
   385  
   386  func (*Artifact_GcsUri) isArtifact_Body() {}
   387  
   388  // A file with test results.
   389  type TestResultFile struct {
   390  	state         protoimpl.MessageState
   391  	sizeCache     protoimpl.SizeCache
   392  	unknownFields protoimpl.UnknownFields
   393  
   394  	// Absolute OS-native path to the results file on the same machine as the
   395  	// ResultSink server.
   396  	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
   397  	// Format of the file.
   398  	Format TestResultFile_Format `protobuf:"varint,2,opt,name=format,proto3,enum=luci.resultsink.v1.TestResultFile_Format" json:"format,omitempty"`
   399  }
   400  
   401  func (x *TestResultFile) Reset() {
   402  	*x = TestResultFile{}
   403  	if protoimpl.UnsafeEnabled {
   404  		mi := &file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[2]
   405  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   406  		ms.StoreMessageInfo(mi)
   407  	}
   408  }
   409  
   410  func (x *TestResultFile) String() string {
   411  	return protoimpl.X.MessageStringOf(x)
   412  }
   413  
   414  func (*TestResultFile) ProtoMessage() {}
   415  
   416  func (x *TestResultFile) ProtoReflect() protoreflect.Message {
   417  	mi := &file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[2]
   418  	if protoimpl.UnsafeEnabled && x != nil {
   419  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   420  		if ms.LoadMessageInfo() == nil {
   421  			ms.StoreMessageInfo(mi)
   422  		}
   423  		return ms
   424  	}
   425  	return mi.MessageOf(x)
   426  }
   427  
   428  // Deprecated: Use TestResultFile.ProtoReflect.Descriptor instead.
   429  func (*TestResultFile) Descriptor() ([]byte, []int) {
   430  	return file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescGZIP(), []int{2}
   431  }
   432  
   433  func (x *TestResultFile) GetPath() string {
   434  	if x != nil {
   435  		return x.Path
   436  	}
   437  	return ""
   438  }
   439  
   440  func (x *TestResultFile) GetFormat() TestResultFile_Format {
   441  	if x != nil {
   442  		return x.Format
   443  	}
   444  	return TestResultFile_LUCI
   445  }
   446  
   447  var File_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto protoreflect.FileDescriptor
   448  
   449  var file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDesc = []byte{
   450  	0x0a, 0x3d, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   451  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f,
   452  	0x73, 0x69, 0x6e, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65,
   453  	0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
   454  	0x12, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x69, 0x6e, 0x6b,
   455  	0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
   456  	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
   457  	0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
   458  	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   459  	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   460  	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
   461  	0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
   462  	0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64,
   463  	0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
   464  	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
   465  	0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65,
   466  	0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f,
   467  	0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70,
   468  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
   469  	0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c,
   470  	0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73,
   471  	0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   472  	0x1a, 0x38, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   473  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f,
   474  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65,
   475  	0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x06, 0x0a, 0x0a, 0x54,
   476  	0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x73,
   477  	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x73, 0x74,
   478  	0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18,
   479  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12,
   480  	0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
   481  	0x08, 0x52, 0x08, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x73,
   482  	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x75,
   483  	0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54,
   484  	0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
   485  	0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x74, 0x6d,
   486  	0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
   487  	0x48, 0x74, 0x6d, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69,
   488  	0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   489  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
   490  	0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
   491  	0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
   492  	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   493  	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75,
   494  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08,
   495  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75,
   496  	0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61,
   497  	0x69, 0x72, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69,
   498  	0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x75,
   499  	0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31,
   500  	0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69,
   501  	0x66, 0x61, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69,
   502  	0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65,
   503  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c,
   504  	0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e,
   505  	0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x65,
   506  	0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x0e, 0x66, 0x61,
   507  	0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01,
   508  	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
   509  	0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61,
   510  	0x73, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73,
   511  	0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x0d, 0x20,
   512  	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c,
   513  	0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x07,
   514  	0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
   515  	0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f,
   516  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
   517  	0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
   518  	0x1a, 0x5a, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74,
   519  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
   520  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
   521  	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c,
   522  	0x74, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
   523  	0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x0a,
   524  	0x10, 0x0b, 0x52, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
   525  	0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x1d,
   526  	0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
   527  	0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a,
   528  	0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48,
   529  	0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x07, 0x67,
   530  	0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06,
   531  	0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
   532  	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f,
   533  	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x62, 0x6f, 0x64,
   534  	0x79, 0x22, 0xac, 0x01, 0x0a, 0x0e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
   535  	0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
   536  	0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x41, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d,
   537  	0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e,
   538  	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65,
   539  	0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x46, 0x6f, 0x72,
   540  	0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x43, 0x0a, 0x06, 0x46,
   541  	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x55, 0x43, 0x49, 0x10, 0x00, 0x12,
   542  	0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x5f, 0x4a, 0x53, 0x4f, 0x4e,
   543  	0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x01, 0x12,
   544  	0x0f, 0x0a, 0x0b, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x10, 0x02,
   545  	0x42, 0x34, 0x5a, 0x32, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
   546  	0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64,
   547  	0x62, 0x2f, 0x73, 0x69, 0x6e, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x3b,
   548  	0x73, 0x69, 0x6e, 0x6b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   549  }
   550  
   551  var (
   552  	file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescOnce sync.Once
   553  	file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescData = file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDesc
   554  )
   555  
   556  func file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescGZIP() []byte {
   557  	file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescOnce.Do(func() {
   558  		file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescData)
   559  	})
   560  	return file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDescData
   561  }
   562  
   563  var file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   564  var file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
   565  var file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_goTypes = []interface{}{
   566  	(TestResultFile_Format)(0),    // 0: luci.resultsink.v1.TestResultFile.Format
   567  	(*TestResult)(nil),            // 1: luci.resultsink.v1.TestResult
   568  	(*Artifact)(nil),              // 2: luci.resultsink.v1.Artifact
   569  	(*TestResultFile)(nil),        // 3: luci.resultsink.v1.TestResultFile
   570  	nil,                           // 4: luci.resultsink.v1.TestResult.ArtifactsEntry
   571  	(v1.TestStatus)(0),            // 5: luci.resultdb.v1.TestStatus
   572  	(*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp
   573  	(*durationpb.Duration)(nil),   // 7: google.protobuf.Duration
   574  	(*v1.StringPair)(nil),         // 8: luci.resultdb.v1.StringPair
   575  	(*v1.TestMetadata)(nil),       // 9: luci.resultdb.v1.TestMetadata
   576  	(*v1.FailureReason)(nil),      // 10: luci.resultdb.v1.FailureReason
   577  	(*v1.Variant)(nil),            // 11: luci.resultdb.v1.Variant
   578  	(*structpb.Struct)(nil),       // 12: google.protobuf.Struct
   579  }
   580  var file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_depIdxs = []int32{
   581  	5,  // 0: luci.resultsink.v1.TestResult.status:type_name -> luci.resultdb.v1.TestStatus
   582  	6,  // 1: luci.resultsink.v1.TestResult.start_time:type_name -> google.protobuf.Timestamp
   583  	7,  // 2: luci.resultsink.v1.TestResult.duration:type_name -> google.protobuf.Duration
   584  	8,  // 3: luci.resultsink.v1.TestResult.tags:type_name -> luci.resultdb.v1.StringPair
   585  	4,  // 4: luci.resultsink.v1.TestResult.artifacts:type_name -> luci.resultsink.v1.TestResult.ArtifactsEntry
   586  	9,  // 5: luci.resultsink.v1.TestResult.test_metadata:type_name -> luci.resultdb.v1.TestMetadata
   587  	10, // 6: luci.resultsink.v1.TestResult.failure_reason:type_name -> luci.resultdb.v1.FailureReason
   588  	11, // 7: luci.resultsink.v1.TestResult.variant:type_name -> luci.resultdb.v1.Variant
   589  	12, // 8: luci.resultsink.v1.TestResult.properties:type_name -> google.protobuf.Struct
   590  	0,  // 9: luci.resultsink.v1.TestResultFile.format:type_name -> luci.resultsink.v1.TestResultFile.Format
   591  	2,  // 10: luci.resultsink.v1.TestResult.ArtifactsEntry.value:type_name -> luci.resultsink.v1.Artifact
   592  	11, // [11:11] is the sub-list for method output_type
   593  	11, // [11:11] is the sub-list for method input_type
   594  	11, // [11:11] is the sub-list for extension type_name
   595  	11, // [11:11] is the sub-list for extension extendee
   596  	0,  // [0:11] is the sub-list for field type_name
   597  }
   598  
   599  func init() { file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_init() }
   600  func file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_init() {
   601  	if File_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto != nil {
   602  		return
   603  	}
   604  	if !protoimpl.UnsafeEnabled {
   605  		file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   606  			switch v := v.(*TestResult); i {
   607  			case 0:
   608  				return &v.state
   609  			case 1:
   610  				return &v.sizeCache
   611  			case 2:
   612  				return &v.unknownFields
   613  			default:
   614  				return nil
   615  			}
   616  		}
   617  		file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   618  			switch v := v.(*Artifact); i {
   619  			case 0:
   620  				return &v.state
   621  			case 1:
   622  				return &v.sizeCache
   623  			case 2:
   624  				return &v.unknownFields
   625  			default:
   626  				return nil
   627  			}
   628  		}
   629  		file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   630  			switch v := v.(*TestResultFile); i {
   631  			case 0:
   632  				return &v.state
   633  			case 1:
   634  				return &v.sizeCache
   635  			case 2:
   636  				return &v.unknownFields
   637  			default:
   638  				return nil
   639  			}
   640  		}
   641  	}
   642  	file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes[1].OneofWrappers = []interface{}{
   643  		(*Artifact_FilePath)(nil),
   644  		(*Artifact_Contents)(nil),
   645  		(*Artifact_GcsUri)(nil),
   646  	}
   647  	type x struct{}
   648  	out := protoimpl.TypeBuilder{
   649  		File: protoimpl.DescBuilder{
   650  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   651  			RawDescriptor: file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDesc,
   652  			NumEnums:      1,
   653  			NumMessages:   4,
   654  			NumExtensions: 0,
   655  			NumServices:   0,
   656  		},
   657  		GoTypes:           file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_goTypes,
   658  		DependencyIndexes: file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_depIdxs,
   659  		EnumInfos:         file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_enumTypes,
   660  		MessageInfos:      file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_msgTypes,
   661  	}.Build()
   662  	File_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto = out.File
   663  	file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_rawDesc = nil
   664  	file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_goTypes = nil
   665  	file_go_chromium_org_luci_resultdb_sink_proto_v1_test_result_proto_depIdxs = nil
   666  }