go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/analysis/proto/v1/test_verdict.pb.go (about)

     1  // Copyright 2022 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.32.0
    18  // 	protoc        v3.21.7
    19  // source: go.chromium.org/luci/analysis/proto/v1/test_verdict.proto
    20  
    21  package analysispb
    22  
    23  import (
    24  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    25  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    26  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    27  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    28  	reflect "reflect"
    29  	sync "sync"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // Status of a test result.
    40  // It is a mirror of luci.resultdb.v1.TestStatus, but the right to evolve
    41  // it independently is reserved.
    42  type TestResultStatus int32
    43  
    44  const (
    45  	// Status was not specified.
    46  	// Not to be used in actual test results; serves as a default value for an
    47  	// unset field.
    48  	TestResultStatus_TEST_RESULT_STATUS_UNSPECIFIED TestResultStatus = 0
    49  	// The test case has passed.
    50  	TestResultStatus_PASS TestResultStatus = 1
    51  	// The test case has failed.
    52  	// Suggests that the code under test is incorrect, but it is also possible
    53  	// that the test is incorrect or it is a flake.
    54  	TestResultStatus_FAIL TestResultStatus = 2
    55  	// The test case has crashed during execution.
    56  	// The outcome is inconclusive: the code under test might or might not be
    57  	// correct, but the test+code is incorrect.
    58  	TestResultStatus_CRASH TestResultStatus = 3
    59  	// The test case has started, but was aborted before finishing.
    60  	// A common reason: timeout.
    61  	TestResultStatus_ABORT TestResultStatus = 4
    62  	// The test case did not execute.
    63  	// Examples:
    64  	//   - The execution of the collection of test cases, such as a test
    65  	//     binary, was aborted prematurely and execution of some test cases was
    66  	//     skipped.
    67  	//   - The test harness configuration specified that the test case MUST be
    68  	//     skipped.
    69  	TestResultStatus_SKIP TestResultStatus = 5
    70  )
    71  
    72  // Enum value maps for TestResultStatus.
    73  var (
    74  	TestResultStatus_name = map[int32]string{
    75  		0: "TEST_RESULT_STATUS_UNSPECIFIED",
    76  		1: "PASS",
    77  		2: "FAIL",
    78  		3: "CRASH",
    79  		4: "ABORT",
    80  		5: "SKIP",
    81  	}
    82  	TestResultStatus_value = map[string]int32{
    83  		"TEST_RESULT_STATUS_UNSPECIFIED": 0,
    84  		"PASS":                           1,
    85  		"FAIL":                           2,
    86  		"CRASH":                          3,
    87  		"ABORT":                          4,
    88  		"SKIP":                           5,
    89  	}
    90  )
    91  
    92  func (x TestResultStatus) Enum() *TestResultStatus {
    93  	p := new(TestResultStatus)
    94  	*p = x
    95  	return p
    96  }
    97  
    98  func (x TestResultStatus) String() string {
    99  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   100  }
   101  
   102  func (TestResultStatus) Descriptor() protoreflect.EnumDescriptor {
   103  	return file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_enumTypes[0].Descriptor()
   104  }
   105  
   106  func (TestResultStatus) Type() protoreflect.EnumType {
   107  	return &file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_enumTypes[0]
   108  }
   109  
   110  func (x TestResultStatus) Number() protoreflect.EnumNumber {
   111  	return protoreflect.EnumNumber(x)
   112  }
   113  
   114  // Deprecated: Use TestResultStatus.Descriptor instead.
   115  func (TestResultStatus) EnumDescriptor() ([]byte, []int) {
   116  	return file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescGZIP(), []int{0}
   117  }
   118  
   119  // Status of a test verdict.
   120  // It is a mirror of luci.resultdb.v1.TestVariantStatus.
   121  type TestVerdictStatus int32
   122  
   123  const (
   124  	// a test verdict must not have this status.
   125  	// This is only used when filtering verdicts.
   126  	TestVerdictStatus_TEST_VERDICT_STATUS_UNSPECIFIED TestVerdictStatus = 0
   127  	// The test verdict has no exonerations, and all results are unexpected.
   128  	TestVerdictStatus_UNEXPECTED TestVerdictStatus = 10
   129  	// The test verdict has no exonerations, and all results are unexpectedly skipped.
   130  	TestVerdictStatus_UNEXPECTEDLY_SKIPPED TestVerdictStatus = 20
   131  	// The test verdict has no exonerations, and has both expected and unexpected
   132  	// results.
   133  	TestVerdictStatus_FLAKY TestVerdictStatus = 30
   134  	// The test verdict has one or more test exonerations.
   135  	TestVerdictStatus_EXONERATED TestVerdictStatus = 40
   136  	// The test verdict has no exonerations, and all results are expected.
   137  	TestVerdictStatus_EXPECTED TestVerdictStatus = 50
   138  )
   139  
   140  // Enum value maps for TestVerdictStatus.
   141  var (
   142  	TestVerdictStatus_name = map[int32]string{
   143  		0:  "TEST_VERDICT_STATUS_UNSPECIFIED",
   144  		10: "UNEXPECTED",
   145  		20: "UNEXPECTEDLY_SKIPPED",
   146  		30: "FLAKY",
   147  		40: "EXONERATED",
   148  		50: "EXPECTED",
   149  	}
   150  	TestVerdictStatus_value = map[string]int32{
   151  		"TEST_VERDICT_STATUS_UNSPECIFIED": 0,
   152  		"UNEXPECTED":                      10,
   153  		"UNEXPECTEDLY_SKIPPED":            20,
   154  		"FLAKY":                           30,
   155  		"EXONERATED":                      40,
   156  		"EXPECTED":                        50,
   157  	}
   158  )
   159  
   160  func (x TestVerdictStatus) Enum() *TestVerdictStatus {
   161  	p := new(TestVerdictStatus)
   162  	*p = x
   163  	return p
   164  }
   165  
   166  func (x TestVerdictStatus) String() string {
   167  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   168  }
   169  
   170  func (TestVerdictStatus) Descriptor() protoreflect.EnumDescriptor {
   171  	return file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_enumTypes[1].Descriptor()
   172  }
   173  
   174  func (TestVerdictStatus) Type() protoreflect.EnumType {
   175  	return &file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_enumTypes[1]
   176  }
   177  
   178  func (x TestVerdictStatus) Number() protoreflect.EnumNumber {
   179  	return protoreflect.EnumNumber(x)
   180  }
   181  
   182  // Deprecated: Use TestVerdictStatus.Descriptor instead.
   183  func (TestVerdictStatus) EnumDescriptor() ([]byte, []int) {
   184  	return file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescGZIP(), []int{1}
   185  }
   186  
   187  // Machine-readable reason that a test execution was skipped.
   188  // It is a mirror of luci.resultdb.v1.SkipReason, but the right to evolve
   189  // it independently is reserved.
   190  type SkipReason int32
   191  
   192  const (
   193  	// Skip reason was not specified.
   194  	// This represents an unset field which should be used for non-skip test
   195  	// result statuses.  It can also be used if none of the other statuses
   196  	// apply.
   197  	SkipReason_SKIP_REASON_UNSPECIFIED SkipReason = 0
   198  	// Disabled automatically in response to a test skipping policy that skips
   199  	// flaky tests.
   200  	// Used for ChromeOS CQ test filtering.
   201  	SkipReason_AUTOMATICALLY_DISABLED_FOR_FLAKINESS SkipReason = 1
   202  )
   203  
   204  // Enum value maps for SkipReason.
   205  var (
   206  	SkipReason_name = map[int32]string{
   207  		0: "SKIP_REASON_UNSPECIFIED",
   208  		1: "AUTOMATICALLY_DISABLED_FOR_FLAKINESS",
   209  	}
   210  	SkipReason_value = map[string]int32{
   211  		"SKIP_REASON_UNSPECIFIED":              0,
   212  		"AUTOMATICALLY_DISABLED_FOR_FLAKINESS": 1,
   213  	}
   214  )
   215  
   216  func (x SkipReason) Enum() *SkipReason {
   217  	p := new(SkipReason)
   218  	*p = x
   219  	return p
   220  }
   221  
   222  func (x SkipReason) String() string {
   223  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   224  }
   225  
   226  func (SkipReason) Descriptor() protoreflect.EnumDescriptor {
   227  	return file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_enumTypes[2].Descriptor()
   228  }
   229  
   230  func (SkipReason) Type() protoreflect.EnumType {
   231  	return &file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_enumTypes[2]
   232  }
   233  
   234  func (x SkipReason) Number() protoreflect.EnumNumber {
   235  	return protoreflect.EnumNumber(x)
   236  }
   237  
   238  // Deprecated: Use SkipReason.Descriptor instead.
   239  func (SkipReason) EnumDescriptor() ([]byte, []int) {
   240  	return file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescGZIP(), []int{2}
   241  }
   242  
   243  type TestVerdict struct {
   244  	state         protoimpl.MessageState
   245  	sizeCache     protoimpl.SizeCache
   246  	unknownFields protoimpl.UnknownFields
   247  
   248  	// Unique identifier of the test.
   249  	// This has the same value as luci.resultdb.v1.TestResult.test_id.
   250  	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
   251  	// The hash of the variant.
   252  	VariantHash string `protobuf:"bytes,2,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
   253  	// The ID of the top-level invocation that the test verdict belongs to when
   254  	// ingested.
   255  	InvocationId string `protobuf:"bytes,3,opt,name=invocation_id,json=invocationId,proto3" json:"invocation_id,omitempty"`
   256  	// The status of the test verdict.
   257  	Status TestVerdictStatus `protobuf:"varint,4,opt,name=status,proto3,enum=luci.analysis.v1.TestVerdictStatus" json:"status,omitempty"`
   258  	// Start time of the presubmit run (for results that are part of a presubmit
   259  	// run) or start time of the buildbucket build (otherwise).
   260  	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
   261  	// The average duration of the PASSED test results included in the test
   262  	// verdict.
   263  	PassedAvgDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=passed_avg_duration,json=passedAvgDuration,proto3" json:"passed_avg_duration,omitempty"`
   264  	// The changelist(s) that were tested, if any. If there are more 10, only
   265  	// the first 10 are returned here.
   266  	Changelists []*Changelist `protobuf:"bytes,7,rep,name=changelists,proto3" json:"changelists,omitempty"`
   267  }
   268  
   269  func (x *TestVerdict) Reset() {
   270  	*x = TestVerdict{}
   271  	if protoimpl.UnsafeEnabled {
   272  		mi := &file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_msgTypes[0]
   273  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   274  		ms.StoreMessageInfo(mi)
   275  	}
   276  }
   277  
   278  func (x *TestVerdict) String() string {
   279  	return protoimpl.X.MessageStringOf(x)
   280  }
   281  
   282  func (*TestVerdict) ProtoMessage() {}
   283  
   284  func (x *TestVerdict) ProtoReflect() protoreflect.Message {
   285  	mi := &file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_msgTypes[0]
   286  	if protoimpl.UnsafeEnabled && x != nil {
   287  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   288  		if ms.LoadMessageInfo() == nil {
   289  			ms.StoreMessageInfo(mi)
   290  		}
   291  		return ms
   292  	}
   293  	return mi.MessageOf(x)
   294  }
   295  
   296  // Deprecated: Use TestVerdict.ProtoReflect.Descriptor instead.
   297  func (*TestVerdict) Descriptor() ([]byte, []int) {
   298  	return file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescGZIP(), []int{0}
   299  }
   300  
   301  func (x *TestVerdict) GetTestId() string {
   302  	if x != nil {
   303  		return x.TestId
   304  	}
   305  	return ""
   306  }
   307  
   308  func (x *TestVerdict) GetVariantHash() string {
   309  	if x != nil {
   310  		return x.VariantHash
   311  	}
   312  	return ""
   313  }
   314  
   315  func (x *TestVerdict) GetInvocationId() string {
   316  	if x != nil {
   317  		return x.InvocationId
   318  	}
   319  	return ""
   320  }
   321  
   322  func (x *TestVerdict) GetStatus() TestVerdictStatus {
   323  	if x != nil {
   324  		return x.Status
   325  	}
   326  	return TestVerdictStatus_TEST_VERDICT_STATUS_UNSPECIFIED
   327  }
   328  
   329  func (x *TestVerdict) GetPartitionTime() *timestamppb.Timestamp {
   330  	if x != nil {
   331  		return x.PartitionTime
   332  	}
   333  	return nil
   334  }
   335  
   336  func (x *TestVerdict) GetPassedAvgDuration() *durationpb.Duration {
   337  	if x != nil {
   338  		return x.PassedAvgDuration
   339  	}
   340  	return nil
   341  }
   342  
   343  func (x *TestVerdict) GetChangelists() []*Changelist {
   344  	if x != nil {
   345  		return x.Changelists
   346  	}
   347  	return nil
   348  }
   349  
   350  var File_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto protoreflect.FileDescriptor
   351  
   352  var file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDesc = []byte{
   353  	0x0a, 0x39, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   354  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f,
   355  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65,
   356  	0x72, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x6c, 0x75, 0x63,
   357  	0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67,
   358  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64,
   359  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
   360  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74,
   361  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34,
   362  	0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
   363  	0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f, 0x70, 0x72,
   364  	0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70,
   365  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x02, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72,
   366  	0x64, 0x69, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
   367  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a,
   368  	0x0c, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20,
   369  	0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68,
   370  	0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
   371  	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
   372  	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
   373  	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61,
   374  	0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72,
   375  	0x64, 0x69, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
   376  	0x75, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
   377  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
   378  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
   379  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f,
   380  	0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x13, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x5f,
   381  	0x61, 0x76, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01,
   382  	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   383  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70,
   384  	0x61, 0x73, 0x73, 0x65, 0x64, 0x41, 0x76, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   385  	0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18,
   386  	0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61,
   387  	0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c,
   388  	0x69, 0x73, 0x74, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x73,
   389  	0x2a, 0x6a, 0x0a, 0x10, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74,
   390  	0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53,
   391  	0x55, 0x4c, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
   392  	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x53, 0x53,
   393  	0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05,
   394  	0x43, 0x52, 0x41, 0x53, 0x48, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x42, 0x4f, 0x52, 0x54,
   395  	0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x05, 0x2a, 0x8b, 0x01, 0x0a,
   396  	0x11, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x64, 0x69, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74,
   397  	0x75, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x44, 0x49,
   398  	0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
   399  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, 0x45, 0x58, 0x50,
   400  	0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x45, 0x58, 0x50,
   401  	0x45, 0x43, 0x54, 0x45, 0x44, 0x4c, 0x59, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45, 0x44, 0x10,
   402  	0x14, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x4c, 0x41, 0x4b, 0x59, 0x10, 0x1e, 0x12, 0x0e, 0x0a, 0x0a,
   403  	0x45, 0x58, 0x4f, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0x28, 0x12, 0x0c, 0x0a, 0x08,
   404  	0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x32, 0x2a, 0x53, 0x0a, 0x0a, 0x53, 0x6b,
   405  	0x69, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4b, 0x49, 0x50,
   406  	0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
   407  	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54,
   408  	0x49, 0x43, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x5f,
   409  	0x46, 0x4f, 0x52, 0x5f, 0x46, 0x4c, 0x41, 0x4b, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x10, 0x01, 0x42,
   410  	0x33, 0x5a, 0x31, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f,
   411  	0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
   412  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73,
   413  	0x69, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   414  }
   415  
   416  var (
   417  	file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescOnce sync.Once
   418  	file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescData = file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDesc
   419  )
   420  
   421  func file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescGZIP() []byte {
   422  	file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescOnce.Do(func() {
   423  		file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescData)
   424  	})
   425  	return file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDescData
   426  }
   427  
   428  var file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
   429  var file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
   430  var file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_goTypes = []interface{}{
   431  	(TestResultStatus)(0),         // 0: luci.analysis.v1.TestResultStatus
   432  	(TestVerdictStatus)(0),        // 1: luci.analysis.v1.TestVerdictStatus
   433  	(SkipReason)(0),               // 2: luci.analysis.v1.SkipReason
   434  	(*TestVerdict)(nil),           // 3: luci.analysis.v1.TestVerdict
   435  	(*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp
   436  	(*durationpb.Duration)(nil),   // 5: google.protobuf.Duration
   437  	(*Changelist)(nil),            // 6: luci.analysis.v1.Changelist
   438  }
   439  var file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_depIdxs = []int32{
   440  	1, // 0: luci.analysis.v1.TestVerdict.status:type_name -> luci.analysis.v1.TestVerdictStatus
   441  	4, // 1: luci.analysis.v1.TestVerdict.partition_time:type_name -> google.protobuf.Timestamp
   442  	5, // 2: luci.analysis.v1.TestVerdict.passed_avg_duration:type_name -> google.protobuf.Duration
   443  	6, // 3: luci.analysis.v1.TestVerdict.changelists:type_name -> luci.analysis.v1.Changelist
   444  	4, // [4:4] is the sub-list for method output_type
   445  	4, // [4:4] is the sub-list for method input_type
   446  	4, // [4:4] is the sub-list for extension type_name
   447  	4, // [4:4] is the sub-list for extension extendee
   448  	0, // [0:4] is the sub-list for field type_name
   449  }
   450  
   451  func init() { file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_init() }
   452  func file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_init() {
   453  	if File_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto != nil {
   454  		return
   455  	}
   456  	file_go_chromium_org_luci_analysis_proto_v1_sources_proto_init()
   457  	if !protoimpl.UnsafeEnabled {
   458  		file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   459  			switch v := v.(*TestVerdict); i {
   460  			case 0:
   461  				return &v.state
   462  			case 1:
   463  				return &v.sizeCache
   464  			case 2:
   465  				return &v.unknownFields
   466  			default:
   467  				return nil
   468  			}
   469  		}
   470  	}
   471  	type x struct{}
   472  	out := protoimpl.TypeBuilder{
   473  		File: protoimpl.DescBuilder{
   474  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   475  			RawDescriptor: file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDesc,
   476  			NumEnums:      3,
   477  			NumMessages:   1,
   478  			NumExtensions: 0,
   479  			NumServices:   0,
   480  		},
   481  		GoTypes:           file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_goTypes,
   482  		DependencyIndexes: file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_depIdxs,
   483  		EnumInfos:         file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_enumTypes,
   484  		MessageInfos:      file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_msgTypes,
   485  	}.Build()
   486  	File_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto = out.File
   487  	file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_rawDesc = nil
   488  	file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_goTypes = nil
   489  	file_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto_depIdxs = nil
   490  }