go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/resultdb/proto/bq/test_result_row.pb.go (about)

     1  // Copyright 2020 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/proto/bq/test_result_row.proto
    20  
    21  package resultpb
    22  
    23  import (
    24  	_ "go.chromium.org/luci/common/bq/pb"
    25  	v1 "go.chromium.org/luci/resultdb/proto/v1"
    26  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    27  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    28  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    29  	structpb "google.golang.org/protobuf/types/known/structpb"
    30  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    31  	reflect "reflect"
    32  	sync "sync"
    33  )
    34  
    35  const (
    36  	// Verify that this generated code is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    38  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    39  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    40  )
    41  
    42  // TestResultRow represents a row in a BigQuery table for result of a functional
    43  // test case.
    44  // Next id: 22.
    45  type TestResultRow struct {
    46  	state         protoimpl.MessageState
    47  	sizeCache     protoimpl.SizeCache
    48  	unknownFields protoimpl.UnknownFields
    49  
    50  	// Exported contains info of the exported invocation.
    51  	//
    52  	// Note: it's possible that this invocation is not the result's
    53  	// immediate parent invocation, but the including invocation.
    54  	// For example if the BigQuery table is for all test results of Chromium CI
    55  	// builds, then the exported invocation is for a CI build, which includes
    56  	// multiple invocations for swarming tasks within that build.
    57  	Exported *InvocationRecord `protobuf:"bytes,1,opt,name=exported,proto3" json:"exported,omitempty"`
    58  	// Parent contains info of the result's immediate parent invocation.
    59  	Parent *InvocationRecord `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
    60  	// Name of the test result.
    61  	// Format:
    62  	// "invocations/{PARENT.ID}/tests/{URL_ESCAPED_TEST_ID}/results/{RESULT_ID}".
    63  	// where URL_ESCAPED_TEST_ID is test_id escaped with
    64  	// https://golang.org/pkg/net/url/#PathEscape See also https://aip.dev/122.
    65  	Name string `protobuf:"bytes,17,opt,name=name,proto3" json:"name,omitempty"`
    66  	// Is a unique identifier of the test in a LUCI project.
    67  	// Refer to TestResult.test_id for details.
    68  	TestId string `protobuf:"bytes,3,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
    69  	// Identifies a test result in a given invocation and test id.
    70  	ResultId string `protobuf:"bytes,4,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
    71  	// Describes one specific way of running the test,
    72  	// e.g. a specific bucket, builder and a test suite.
    73  	Variant []*v1.StringPair `protobuf:"bytes,5,rep,name=variant,proto3" json:"variant,omitempty"`
    74  	// A hex-encoded sha256 of concatenated "<key>:<value>\n" variant pairs.
    75  	VariantHash string `protobuf:"bytes,6,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
    76  	// Expected is a flag indicating whether the result of test case execution is
    77  	// expected. Refer to TestResult.Expected for details.
    78  	Expected bool `protobuf:"varint,7,opt,name=expected,proto3" json:"expected,omitempty"`
    79  	// Status of the test result.
    80  	// See TestStatus for possible values.
    81  	Status string `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"`
    82  	// A human-readable explanation of the result, in HTML.
    83  	SummaryHtml string `protobuf:"bytes,9,opt,name=summary_html,json=summaryHtml,proto3" json:"summary_html,omitempty"`
    84  	// The point in time when the test case started to execute.
    85  	StartTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
    86  	// Duration of the test case execution in seconds.
    87  	Duration *durationpb.Duration `protobuf:"bytes,11,opt,name=duration,proto3" json:"duration,omitempty"`
    88  	// Tags contains metadata for this test result.
    89  	// It might describe this particular execution or the test case.
    90  	Tags []*v1.StringPair `protobuf:"bytes,12,rep,name=tags,proto3" json:"tags,omitempty"`
    91  	// If the failures of the test variant are exonerated.
    92  	// Note: the exoneration is at the test variant level, not result level.
    93  	Exonerated bool `protobuf:"varint,13,opt,name=exonerated,proto3" json:"exonerated,omitempty"`
    94  	// The code sources tested. If the invocation which contained the test result
    95  	// specified that code sources directly, this is those sources.
    96  	// If the code sources were marked as are inherited from the including
    97  	// invocation, this is the resolved code sources (if they could be resolved).
    98  	// Unset otherwise.
    99  	Sources *v1.Sources `protobuf:"bytes,20,opt,name=sources,proto3" json:"sources,omitempty"`
   100  	// Partition_time is used to partition the table.
   101  	// It is the time when exported invocation was created in Spanner.
   102  	// Note: it is NOT the time when the row is inserted into BigQuery table.
   103  	// https://cloud.google.com/bigquery/docs/creating-column-partitions#limitations
   104  	// mentions "The partitioning column must be a top-level field."
   105  	// So we keep this column here instead of adding the CreateTime to Invocation.
   106  	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
   107  	// Metadata of the test case,
   108  	// e.g. the original test name and test location.
   109  	TestMetadata *v1.TestMetadata `protobuf:"bytes,16,opt,name=test_metadata,json=testMetadata,proto3" json:"test_metadata,omitempty"`
   110  	// Information about failed tests.
   111  	// e.g. the assertion failure message.
   112  	FailureReason *v1.FailureReason `protobuf:"bytes,18,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
   113  	// Arbitrary JSON object that contains structured, domain-specific properties
   114  	// of the test result.
   115  	Properties *structpb.Struct `protobuf:"bytes,19,opt,name=properties,proto3" json:"properties,omitempty"`
   116  	// Reasoning behind a test skip, in machine-readable form.
   117  	// MUST not be set unless status is SKIP.
   118  	// See SkipReason in v1/test_result.proto for possible values.
   119  	SkipReason string `protobuf:"bytes,21,opt,name=skip_reason,json=skipReason,proto3" json:"skip_reason,omitempty"`
   120  }
   121  
   122  func (x *TestResultRow) Reset() {
   123  	*x = TestResultRow{}
   124  	if protoimpl.UnsafeEnabled {
   125  		mi := &file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_msgTypes[0]
   126  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   127  		ms.StoreMessageInfo(mi)
   128  	}
   129  }
   130  
   131  func (x *TestResultRow) String() string {
   132  	return protoimpl.X.MessageStringOf(x)
   133  }
   134  
   135  func (*TestResultRow) ProtoMessage() {}
   136  
   137  func (x *TestResultRow) ProtoReflect() protoreflect.Message {
   138  	mi := &file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_msgTypes[0]
   139  	if protoimpl.UnsafeEnabled && x != nil {
   140  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   141  		if ms.LoadMessageInfo() == nil {
   142  			ms.StoreMessageInfo(mi)
   143  		}
   144  		return ms
   145  	}
   146  	return mi.MessageOf(x)
   147  }
   148  
   149  // Deprecated: Use TestResultRow.ProtoReflect.Descriptor instead.
   150  func (*TestResultRow) Descriptor() ([]byte, []int) {
   151  	return file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDescGZIP(), []int{0}
   152  }
   153  
   154  func (x *TestResultRow) GetExported() *InvocationRecord {
   155  	if x != nil {
   156  		return x.Exported
   157  	}
   158  	return nil
   159  }
   160  
   161  func (x *TestResultRow) GetParent() *InvocationRecord {
   162  	if x != nil {
   163  		return x.Parent
   164  	}
   165  	return nil
   166  }
   167  
   168  func (x *TestResultRow) GetName() string {
   169  	if x != nil {
   170  		return x.Name
   171  	}
   172  	return ""
   173  }
   174  
   175  func (x *TestResultRow) GetTestId() string {
   176  	if x != nil {
   177  		return x.TestId
   178  	}
   179  	return ""
   180  }
   181  
   182  func (x *TestResultRow) GetResultId() string {
   183  	if x != nil {
   184  		return x.ResultId
   185  	}
   186  	return ""
   187  }
   188  
   189  func (x *TestResultRow) GetVariant() []*v1.StringPair {
   190  	if x != nil {
   191  		return x.Variant
   192  	}
   193  	return nil
   194  }
   195  
   196  func (x *TestResultRow) GetVariantHash() string {
   197  	if x != nil {
   198  		return x.VariantHash
   199  	}
   200  	return ""
   201  }
   202  
   203  func (x *TestResultRow) GetExpected() bool {
   204  	if x != nil {
   205  		return x.Expected
   206  	}
   207  	return false
   208  }
   209  
   210  func (x *TestResultRow) GetStatus() string {
   211  	if x != nil {
   212  		return x.Status
   213  	}
   214  	return ""
   215  }
   216  
   217  func (x *TestResultRow) GetSummaryHtml() string {
   218  	if x != nil {
   219  		return x.SummaryHtml
   220  	}
   221  	return ""
   222  }
   223  
   224  func (x *TestResultRow) GetStartTime() *timestamppb.Timestamp {
   225  	if x != nil {
   226  		return x.StartTime
   227  	}
   228  	return nil
   229  }
   230  
   231  func (x *TestResultRow) GetDuration() *durationpb.Duration {
   232  	if x != nil {
   233  		return x.Duration
   234  	}
   235  	return nil
   236  }
   237  
   238  func (x *TestResultRow) GetTags() []*v1.StringPair {
   239  	if x != nil {
   240  		return x.Tags
   241  	}
   242  	return nil
   243  }
   244  
   245  func (x *TestResultRow) GetExonerated() bool {
   246  	if x != nil {
   247  		return x.Exonerated
   248  	}
   249  	return false
   250  }
   251  
   252  func (x *TestResultRow) GetSources() *v1.Sources {
   253  	if x != nil {
   254  		return x.Sources
   255  	}
   256  	return nil
   257  }
   258  
   259  func (x *TestResultRow) GetPartitionTime() *timestamppb.Timestamp {
   260  	if x != nil {
   261  		return x.PartitionTime
   262  	}
   263  	return nil
   264  }
   265  
   266  func (x *TestResultRow) GetTestMetadata() *v1.TestMetadata {
   267  	if x != nil {
   268  		return x.TestMetadata
   269  	}
   270  	return nil
   271  }
   272  
   273  func (x *TestResultRow) GetFailureReason() *v1.FailureReason {
   274  	if x != nil {
   275  		return x.FailureReason
   276  	}
   277  	return nil
   278  }
   279  
   280  func (x *TestResultRow) GetProperties() *structpb.Struct {
   281  	if x != nil {
   282  		return x.Properties
   283  	}
   284  	return nil
   285  }
   286  
   287  func (x *TestResultRow) GetSkipReason() string {
   288  	if x != nil {
   289  		return x.SkipReason
   290  	}
   291  	return ""
   292  }
   293  
   294  var File_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto protoreflect.FileDescriptor
   295  
   296  var file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDesc = []byte{
   297  	0x0a, 0x3c, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   298  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f,
   299  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x71, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65,
   300  	0x73, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10,
   301  	0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x62, 0x71,
   302  	0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
   303  	0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   304  	0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
   305  	0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
   306  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
   307  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   308  	0x2f, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67,
   309  	0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x62, 0x71, 0x2f,
   310  	0x70, 0x62, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   311  	0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   312  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f,
   313  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x71, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
   314  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
   315  	0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75,
   316  	0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f,
   317  	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x67, 0x6f, 0x2e, 0x63,
   318  	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69,
   319  	0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
   320  	0x76, 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
   321  	0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
   322  	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
   323  	0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74,
   324  	0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   325  	0x3b, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67,
   326  	0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70,
   327  	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f,
   328  	0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x07, 0x0a,
   329  	0x0d, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x77, 0x12, 0x3e,
   330  	0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
   331  	0x32, 0x22, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62,
   332  	0x2e, 0x62, 0x71, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
   333  	0x63, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x3a,
   334  	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
   335  	0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x62,
   336  	0x71, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f,
   337  	0x72, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
   338  	0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17,
   339  	0x0a, 0x07, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
   340  	0x06, 0x74, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c,
   341  	0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75,
   342  	0x6c, 0x74, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18,
   343  	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73,
   344  	0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50,
   345  	0x61, 0x69, 0x72, 0x52, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c,
   346  	0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01,
   347  	0x28, 0x09, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12,
   348  	0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
   349  	0x08, 0x52, 0x08, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73,
   350  	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61,
   351  	0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x68,
   352  	0x74, 0x6d, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x6d, 0x6d, 0x61,
   353  	0x72, 0x79, 0x48, 0x74, 0x6d, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
   354  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
   355  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
   356  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
   357  	0x65, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20,
   358  	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   359  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08,
   360  	0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73,
   361  	0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65,
   362  	0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
   363  	0x50, 0x61, 0x69, 0x72, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78,
   364  	0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
   365  	0x65, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x6f,
   366  	0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x75,
   367  	0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53,
   368  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12,
   369  	0x41, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
   370  	0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   371  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
   372  	0x61, 0x6d, 0x70, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69,
   373  	0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64,
   374  	0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63, 0x69,
   375  	0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73,
   376  	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x4d,
   377  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75,
   378  	0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32,
   379  	0x1f, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e,
   380  	0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
   381  	0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
   382  	0x43, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x13, 0x20,
   383  	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   384  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0a, 0xe2, 0xbc,
   385  	0x24, 0x06, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
   386  	0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x61,
   387  	0x73, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x70, 0x52,
   388  	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
   389  	0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65,
   390  	0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x71, 0x3b,
   391  	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   392  }
   393  
   394  var (
   395  	file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDescOnce sync.Once
   396  	file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDescData = file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDesc
   397  )
   398  
   399  func file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDescGZIP() []byte {
   400  	file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDescOnce.Do(func() {
   401  		file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDescData)
   402  	})
   403  	return file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDescData
   404  }
   405  
   406  var file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
   407  var file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_goTypes = []interface{}{
   408  	(*TestResultRow)(nil),         // 0: luci.resultdb.bq.TestResultRow
   409  	(*InvocationRecord)(nil),      // 1: luci.resultdb.bq.InvocationRecord
   410  	(*v1.StringPair)(nil),         // 2: luci.resultdb.v1.StringPair
   411  	(*timestamppb.Timestamp)(nil), // 3: google.protobuf.Timestamp
   412  	(*durationpb.Duration)(nil),   // 4: google.protobuf.Duration
   413  	(*v1.Sources)(nil),            // 5: luci.resultdb.v1.Sources
   414  	(*v1.TestMetadata)(nil),       // 6: luci.resultdb.v1.TestMetadata
   415  	(*v1.FailureReason)(nil),      // 7: luci.resultdb.v1.FailureReason
   416  	(*structpb.Struct)(nil),       // 8: google.protobuf.Struct
   417  }
   418  var file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_depIdxs = []int32{
   419  	1,  // 0: luci.resultdb.bq.TestResultRow.exported:type_name -> luci.resultdb.bq.InvocationRecord
   420  	1,  // 1: luci.resultdb.bq.TestResultRow.parent:type_name -> luci.resultdb.bq.InvocationRecord
   421  	2,  // 2: luci.resultdb.bq.TestResultRow.variant:type_name -> luci.resultdb.v1.StringPair
   422  	3,  // 3: luci.resultdb.bq.TestResultRow.start_time:type_name -> google.protobuf.Timestamp
   423  	4,  // 4: luci.resultdb.bq.TestResultRow.duration:type_name -> google.protobuf.Duration
   424  	2,  // 5: luci.resultdb.bq.TestResultRow.tags:type_name -> luci.resultdb.v1.StringPair
   425  	5,  // 6: luci.resultdb.bq.TestResultRow.sources:type_name -> luci.resultdb.v1.Sources
   426  	3,  // 7: luci.resultdb.bq.TestResultRow.partition_time:type_name -> google.protobuf.Timestamp
   427  	6,  // 8: luci.resultdb.bq.TestResultRow.test_metadata:type_name -> luci.resultdb.v1.TestMetadata
   428  	7,  // 9: luci.resultdb.bq.TestResultRow.failure_reason:type_name -> luci.resultdb.v1.FailureReason
   429  	8,  // 10: luci.resultdb.bq.TestResultRow.properties:type_name -> google.protobuf.Struct
   430  	11, // [11:11] is the sub-list for method output_type
   431  	11, // [11:11] is the sub-list for method input_type
   432  	11, // [11:11] is the sub-list for extension type_name
   433  	11, // [11:11] is the sub-list for extension extendee
   434  	0,  // [0:11] is the sub-list for field type_name
   435  }
   436  
   437  func init() { file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_init() }
   438  func file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_init() {
   439  	if File_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto != nil {
   440  		return
   441  	}
   442  	file_go_chromium_org_luci_resultdb_proto_bq_common_proto_init()
   443  	if !protoimpl.UnsafeEnabled {
   444  		file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   445  			switch v := v.(*TestResultRow); i {
   446  			case 0:
   447  				return &v.state
   448  			case 1:
   449  				return &v.sizeCache
   450  			case 2:
   451  				return &v.unknownFields
   452  			default:
   453  				return nil
   454  			}
   455  		}
   456  	}
   457  	type x struct{}
   458  	out := protoimpl.TypeBuilder{
   459  		File: protoimpl.DescBuilder{
   460  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   461  			RawDescriptor: file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDesc,
   462  			NumEnums:      0,
   463  			NumMessages:   1,
   464  			NumExtensions: 0,
   465  			NumServices:   0,
   466  		},
   467  		GoTypes:           file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_goTypes,
   468  		DependencyIndexes: file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_depIdxs,
   469  		MessageInfos:      file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_msgTypes,
   470  	}.Build()
   471  	File_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto = out.File
   472  	file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_rawDesc = nil
   473  	file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_goTypes = nil
   474  	file_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto_depIdxs = nil
   475  }