github.com/GoogleCloudPlatform/testgrid@v0.0.174/pb/custom_evaluator/custom_evaluator.pb.go (about) 1 /* 2 Copyright The TestGrid Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 // Code generated by protoc-gen-go. DO NOT EDIT. 18 // versions: 19 // protoc-gen-go v1.28.0 20 // protoc v3.21.1 21 // source: custom_evaluator.proto 22 23 package custom_evaluator 24 25 import ( 26 test_status "github.com/GoogleCloudPlatform/testgrid/pb/test_status" 27 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 28 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 29 reflect "reflect" 30 sync "sync" 31 ) 32 33 const ( 34 // Verify that this generated code is sufficiently up-to-date. 35 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 36 // Verify that runtime/protoimpl is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 38 ) 39 40 type Comparison_Operator int32 41 42 const ( 43 // Unknown. May assume OP_EQ for legacy purposes, but should warn. 44 Comparison_OP_UNKNOWN Comparison_Operator = 0 45 // Equals operator. 46 Comparison_OP_EQ Comparison_Operator = 1 47 // Not equals operator. 48 Comparison_OP_NE Comparison_Operator = 2 49 // Comparison value less than TestResult's value 50 Comparison_OP_LT Comparison_Operator = 3 51 // Comparison value less than or equal TestResult's value 52 Comparison_OP_LE Comparison_Operator = 4 53 // Comparison value greater than TestResult's value 54 Comparison_OP_GT Comparison_Operator = 5 55 // Comparison value greater than or equal TestResult's value 56 Comparison_OP_GE Comparison_Operator = 6 57 // Regex match of Comparison.value string with the TestResult's evaluation 58 // value string. 59 Comparison_OP_REGEX Comparison_Operator = 7 60 // Checks to see if the evaluation value string starts with the 61 // Comparison.value string 62 Comparison_OP_STARTS_WITH Comparison_Operator = 8 63 // Checks to see if the evaluation value string is contained within the 64 // Comparison.value string 65 Comparison_OP_CONTAINS Comparison_Operator = 9 66 ) 67 68 // Enum value maps for Comparison_Operator. 69 var ( 70 Comparison_Operator_name = map[int32]string{ 71 0: "OP_UNKNOWN", 72 1: "OP_EQ", 73 2: "OP_NE", 74 3: "OP_LT", 75 4: "OP_LE", 76 5: "OP_GT", 77 6: "OP_GE", 78 7: "OP_REGEX", 79 8: "OP_STARTS_WITH", 80 9: "OP_CONTAINS", 81 } 82 Comparison_Operator_value = map[string]int32{ 83 "OP_UNKNOWN": 0, 84 "OP_EQ": 1, 85 "OP_NE": 2, 86 "OP_LT": 3, 87 "OP_LE": 4, 88 "OP_GT": 5, 89 "OP_GE": 6, 90 "OP_REGEX": 7, 91 "OP_STARTS_WITH": 8, 92 "OP_CONTAINS": 9, 93 } 94 ) 95 96 func (x Comparison_Operator) Enum() *Comparison_Operator { 97 p := new(Comparison_Operator) 98 *p = x 99 return p 100 } 101 102 func (x Comparison_Operator) String() string { 103 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 104 } 105 106 func (Comparison_Operator) Descriptor() protoreflect.EnumDescriptor { 107 return file_custom_evaluator_proto_enumTypes[0].Descriptor() 108 } 109 110 func (Comparison_Operator) Type() protoreflect.EnumType { 111 return &file_custom_evaluator_proto_enumTypes[0] 112 } 113 114 func (x Comparison_Operator) Number() protoreflect.EnumNumber { 115 return protoreflect.EnumNumber(x) 116 } 117 118 // Deprecated: Use Comparison_Operator.Descriptor instead. 119 func (Comparison_Operator) EnumDescriptor() ([]byte, []int) { 120 return file_custom_evaluator_proto_rawDescGZIP(), []int{3, 0} 121 } 122 123 // A collection of Rule objects. Used to define many rules. 124 type RuleSet struct { 125 state protoimpl.MessageState 126 sizeCache protoimpl.SizeCache 127 unknownFields protoimpl.UnknownFields 128 129 Rules []*Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` 130 } 131 132 func (x *RuleSet) Reset() { 133 *x = RuleSet{} 134 if protoimpl.UnsafeEnabled { 135 mi := &file_custom_evaluator_proto_msgTypes[0] 136 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 137 ms.StoreMessageInfo(mi) 138 } 139 } 140 141 func (x *RuleSet) String() string { 142 return protoimpl.X.MessageStringOf(x) 143 } 144 145 func (*RuleSet) ProtoMessage() {} 146 147 func (x *RuleSet) ProtoReflect() protoreflect.Message { 148 mi := &file_custom_evaluator_proto_msgTypes[0] 149 if protoimpl.UnsafeEnabled && x != nil { 150 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 151 if ms.LoadMessageInfo() == nil { 152 ms.StoreMessageInfo(mi) 153 } 154 return ms 155 } 156 return mi.MessageOf(x) 157 } 158 159 // Deprecated: Use RuleSet.ProtoReflect.Descriptor instead. 160 func (*RuleSet) Descriptor() ([]byte, []int) { 161 return file_custom_evaluator_proto_rawDescGZIP(), []int{0} 162 } 163 164 func (x *RuleSet) GetRules() []*Rule { 165 if x != nil { 166 return x.Rules 167 } 168 return nil 169 } 170 171 // A single rule that describes how to evaluate a test_cases_pb2.TestResult 172 type Rule struct { 173 state protoimpl.MessageState 174 sizeCache protoimpl.SizeCache 175 unknownFields protoimpl.UnknownFields 176 177 // Multiple comparisons to run against a result. EVERY TestResultComparison 178 // has to succeed for this Rule to succeed. 179 TestResultComparisons []*TestResultComparison `protobuf:"bytes,1,rep,name=test_result_comparisons,json=testResultComparisons,proto3" json:"test_result_comparisons,omitempty"` 180 // Required: The TestStatus to return if the comparison succeeds. 181 ComputedStatus test_status.TestStatus `protobuf:"varint,3,opt,name=computed_status,json=computedStatus,proto3,enum=testgrid.test_status.TestStatus" json:"computed_status,omitempty"` 182 } 183 184 func (x *Rule) Reset() { 185 *x = Rule{} 186 if protoimpl.UnsafeEnabled { 187 mi := &file_custom_evaluator_proto_msgTypes[1] 188 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 189 ms.StoreMessageInfo(mi) 190 } 191 } 192 193 func (x *Rule) String() string { 194 return protoimpl.X.MessageStringOf(x) 195 } 196 197 func (*Rule) ProtoMessage() {} 198 199 func (x *Rule) ProtoReflect() protoreflect.Message { 200 mi := &file_custom_evaluator_proto_msgTypes[1] 201 if protoimpl.UnsafeEnabled && x != nil { 202 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 203 if ms.LoadMessageInfo() == nil { 204 ms.StoreMessageInfo(mi) 205 } 206 return ms 207 } 208 return mi.MessageOf(x) 209 } 210 211 // Deprecated: Use Rule.ProtoReflect.Descriptor instead. 212 func (*Rule) Descriptor() ([]byte, []int) { 213 return file_custom_evaluator_proto_rawDescGZIP(), []int{1} 214 } 215 216 func (x *Rule) GetTestResultComparisons() []*TestResultComparison { 217 if x != nil { 218 return x.TestResultComparisons 219 } 220 return nil 221 } 222 223 func (x *Rule) GetComputedStatus() test_status.TestStatus { 224 if x != nil { 225 return x.ComputedStatus 226 } 227 return test_status.TestStatus(0) 228 } 229 230 // Describes how to get information the TestResult proto and how to compare the 231 // value against the comparison value. 232 type TestResultComparison struct { 233 state protoimpl.MessageState 234 sizeCache protoimpl.SizeCache 235 unknownFields protoimpl.UnknownFields 236 237 // Required: This is the comparison that will be used as 238 Comparison *Comparison `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` 239 // Types that are assignable to TestResultInfo: 240 // *TestResultComparison_PropertyKey 241 // *TestResultComparison_TestResultField 242 // *TestResultComparison_TestResultErrorField 243 // *TestResultComparison_TargetStatus 244 TestResultInfo isTestResultComparison_TestResultInfo `protobuf_oneof:"test_result_info"` 245 } 246 247 func (x *TestResultComparison) Reset() { 248 *x = TestResultComparison{} 249 if protoimpl.UnsafeEnabled { 250 mi := &file_custom_evaluator_proto_msgTypes[2] 251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 252 ms.StoreMessageInfo(mi) 253 } 254 } 255 256 func (x *TestResultComparison) String() string { 257 return protoimpl.X.MessageStringOf(x) 258 } 259 260 func (*TestResultComparison) ProtoMessage() {} 261 262 func (x *TestResultComparison) ProtoReflect() protoreflect.Message { 263 mi := &file_custom_evaluator_proto_msgTypes[2] 264 if protoimpl.UnsafeEnabled && x != nil { 265 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 266 if ms.LoadMessageInfo() == nil { 267 ms.StoreMessageInfo(mi) 268 } 269 return ms 270 } 271 return mi.MessageOf(x) 272 } 273 274 // Deprecated: Use TestResultComparison.ProtoReflect.Descriptor instead. 275 func (*TestResultComparison) Descriptor() ([]byte, []int) { 276 return file_custom_evaluator_proto_rawDescGZIP(), []int{2} 277 } 278 279 func (x *TestResultComparison) GetComparison() *Comparison { 280 if x != nil { 281 return x.Comparison 282 } 283 return nil 284 } 285 286 func (m *TestResultComparison) GetTestResultInfo() isTestResultComparison_TestResultInfo { 287 if m != nil { 288 return m.TestResultInfo 289 } 290 return nil 291 } 292 293 func (x *TestResultComparison) GetPropertyKey() string { 294 if x, ok := x.GetTestResultInfo().(*TestResultComparison_PropertyKey); ok { 295 return x.PropertyKey 296 } 297 return "" 298 } 299 300 func (x *TestResultComparison) GetTestResultField() string { 301 if x, ok := x.GetTestResultInfo().(*TestResultComparison_TestResultField); ok { 302 return x.TestResultField 303 } 304 return "" 305 } 306 307 func (x *TestResultComparison) GetTestResultErrorField() string { 308 if x, ok := x.GetTestResultInfo().(*TestResultComparison_TestResultErrorField); ok { 309 return x.TestResultErrorField 310 } 311 return "" 312 } 313 314 func (x *TestResultComparison) GetTargetStatus() bool { 315 if x, ok := x.GetTestResultInfo().(*TestResultComparison_TargetStatus); ok { 316 return x.TargetStatus 317 } 318 return false 319 } 320 321 type isTestResultComparison_TestResultInfo interface { 322 isTestResultComparison_TestResultInfo() 323 } 324 325 type TestResultComparison_PropertyKey struct { 326 // The name of the property to evaluate. 327 // Properties are usually strings, so a string comparison is assumed and 328 // required. 329 PropertyKey string `protobuf:"bytes,2,opt,name=property_key,json=propertyKey,proto3,oneof"` 330 } 331 332 type TestResultComparison_TestResultField struct { 333 // This will find the scalar field with the given name within the TestResult 334 // proto. The value of that field will be used to evaluate. 335 // 336 // Accepted junit values for junit results are: 337 // name: name of the test case 338 // error_count: 1 if the test case has an error message 339 // failure_count: 1 if the test case has a failure message 340 // 341 // NOTE: Only supported for string and numerical values. 342 TestResultField string `protobuf:"bytes,3,opt,name=test_result_field,json=testResultField,proto3,oneof"` 343 } 344 345 type TestResultComparison_TestResultErrorField struct { 346 // This will find the field nested within the first error of the TestResult 347 // proto. The value of that field will be used to evaluate. 348 // 349 // Accepted values for junit results are: 350 // exception_type: the failure and/or error message. 351 // 352 // NOTE: Only supported for string and numerical values 353 TestResultErrorField string `protobuf:"bytes,4,opt,name=test_result_error_field,json=testResultErrorField,proto3,oneof"` 354 } 355 356 type TestResultComparison_TargetStatus struct { 357 // This will enable the target status comparation. The value of the status 358 // will be used to evaluate. 359 TargetStatus bool `protobuf:"varint,5,opt,name=target_status,json=targetStatus,proto3,oneof"` 360 } 361 362 func (*TestResultComparison_PropertyKey) isTestResultComparison_TestResultInfo() {} 363 364 func (*TestResultComparison_TestResultField) isTestResultComparison_TestResultInfo() {} 365 366 func (*TestResultComparison_TestResultErrorField) isTestResultComparison_TestResultInfo() {} 367 368 func (*TestResultComparison_TargetStatus) isTestResultComparison_TestResultInfo() {} 369 370 // The method of comparison used for evaluation. Describes how to compare two 371 // values. 372 type Comparison struct { 373 state protoimpl.MessageState 374 sizeCache protoimpl.SizeCache 375 unknownFields protoimpl.UnknownFields 376 377 // Required: Defines how to compare two attributes. 378 // When the TestResult value is numerical, numerical_value will be used to 379 // compare. When the TestResult value is a string, string_value will be used. 380 Op Comparison_Operator `protobuf:"varint,1,opt,name=op,proto3,enum=testgrid.custom_evaluator.Comparison_Operator" json:"op,omitempty"` 381 // Types that are assignable to ComparisonValue: 382 // *Comparison_StringValue 383 // *Comparison_NumericalValue 384 // *Comparison_TargetStatusValue 385 ComparisonValue isComparison_ComparisonValue `protobuf_oneof:"comparison_value"` 386 } 387 388 func (x *Comparison) Reset() { 389 *x = Comparison{} 390 if protoimpl.UnsafeEnabled { 391 mi := &file_custom_evaluator_proto_msgTypes[3] 392 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 393 ms.StoreMessageInfo(mi) 394 } 395 } 396 397 func (x *Comparison) String() string { 398 return protoimpl.X.MessageStringOf(x) 399 } 400 401 func (*Comparison) ProtoMessage() {} 402 403 func (x *Comparison) ProtoReflect() protoreflect.Message { 404 mi := &file_custom_evaluator_proto_msgTypes[3] 405 if protoimpl.UnsafeEnabled && x != nil { 406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 407 if ms.LoadMessageInfo() == nil { 408 ms.StoreMessageInfo(mi) 409 } 410 return ms 411 } 412 return mi.MessageOf(x) 413 } 414 415 // Deprecated: Use Comparison.ProtoReflect.Descriptor instead. 416 func (*Comparison) Descriptor() ([]byte, []int) { 417 return file_custom_evaluator_proto_rawDescGZIP(), []int{3} 418 } 419 420 func (x *Comparison) GetOp() Comparison_Operator { 421 if x != nil { 422 return x.Op 423 } 424 return Comparison_OP_UNKNOWN 425 } 426 427 func (m *Comparison) GetComparisonValue() isComparison_ComparisonValue { 428 if m != nil { 429 return m.ComparisonValue 430 } 431 return nil 432 } 433 434 func (x *Comparison) GetStringValue() string { 435 if x, ok := x.GetComparisonValue().(*Comparison_StringValue); ok { 436 return x.StringValue 437 } 438 return "" 439 } 440 441 func (x *Comparison) GetNumericalValue() float64 { 442 if x, ok := x.GetComparisonValue().(*Comparison_NumericalValue); ok { 443 return x.NumericalValue 444 } 445 return 0 446 } 447 448 func (x *Comparison) GetTargetStatusValue() test_status.TestStatus { 449 if x, ok := x.GetComparisonValue().(*Comparison_TargetStatusValue); ok { 450 return x.TargetStatusValue 451 } 452 return test_status.TestStatus(0) 453 } 454 455 type isComparison_ComparisonValue interface { 456 isComparison_ComparisonValue() 457 } 458 459 type Comparison_StringValue struct { 460 // For operations EQ, NE, REGEX, STARTS_WITH, CONTAINS 461 StringValue string `protobuf:"bytes,2,opt,name=string_value,json=stringValue,proto3,oneof"` 462 } 463 464 type Comparison_NumericalValue struct { 465 // For operations EQ, NE, LT, LE, GT, GE 466 NumericalValue float64 `protobuf:"fixed64,3,opt,name=numerical_value,json=numericalValue,proto3,oneof"` 467 } 468 469 type Comparison_TargetStatusValue struct { 470 // For operations EQ 471 TargetStatusValue test_status.TestStatus `protobuf:"varint,4,opt,name=target_status_value,json=targetStatusValue,proto3,enum=testgrid.test_status.TestStatus,oneof"` 472 } 473 474 func (*Comparison_StringValue) isComparison_ComparisonValue() {} 475 476 func (*Comparison_NumericalValue) isComparison_ComparisonValue() {} 477 478 func (*Comparison_TargetStatusValue) isComparison_ComparisonValue() {} 479 480 var File_custom_evaluator_proto protoreflect.FileDescriptor 481 482 var file_custom_evaluator_proto_rawDesc = []byte{ 483 0x0a, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 484 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 485 0x69, 0x64, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 486 0x74, 0x6f, 0x72, 0x1a, 0x20, 0x70, 0x62, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 487 0x74, 0x75, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 488 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x07, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 489 0x12, 0x35, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 490 0x1f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 491 0x6d, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x75, 0x6c, 0x65, 492 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 493 0x12, 0x67, 0x0a, 0x17, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 494 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 495 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x63, 0x75, 0x73, 496 0x74, 0x6f, 0x6d, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x65, 497 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 498 0x6f, 0x6e, 0x52, 0x15, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 499 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 500 0x70, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 501 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x74, 0x65, 502 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 503 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x53, 0x74, 504 0x61, 0x74, 0x75, 0x73, 0x22, 0xa4, 0x02, 0x0a, 0x14, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 505 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 506 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 507 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x63, 0x75, 0x73, 508 0x74, 0x6f, 0x6d, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 509 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 510 0x69, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 511 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, 512 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x65, 0x73, 513 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x03, 514 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 515 0x6c, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x37, 0x0a, 0x17, 0x74, 0x65, 0x73, 0x74, 0x5f, 516 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x65, 517 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x74, 0x65, 0x73, 0x74, 518 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 519 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 520 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 521 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x74, 0x65, 0x73, 0x74, 0x5f, 522 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x96, 0x03, 0x0a, 0x0a, 523 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x02, 0x6f, 0x70, 524 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 525 0x64, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 526 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 527 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 528 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 529 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 530 0x29, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 531 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x65, 532 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x52, 0x0a, 0x13, 0x74, 0x61, 533 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 534 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 535 0x69, 0x64, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x54, 536 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x11, 0x74, 0x61, 0x72, 537 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8f, 538 0x01, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 539 0x50, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4f, 540 0x50, 0x5f, 0x45, 0x51, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x50, 0x5f, 0x4e, 0x45, 0x10, 541 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x50, 0x5f, 0x4c, 0x54, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 542 0x4f, 0x50, 0x5f, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x50, 0x5f, 0x47, 0x54, 543 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x50, 0x5f, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0c, 0x0a, 544 0x08, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x58, 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 545 0x50, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x10, 0x08, 0x12, 546 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x09, 547 0x42, 0x12, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 548 0x61, 0x6c, 0x75, 0x65, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 549 0x6f, 0x6d, 0x2f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x6c, 550 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2f, 551 0x70, 0x62, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 552 0x74, 0x6f, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 553 } 554 555 var ( 556 file_custom_evaluator_proto_rawDescOnce sync.Once 557 file_custom_evaluator_proto_rawDescData = file_custom_evaluator_proto_rawDesc 558 ) 559 560 func file_custom_evaluator_proto_rawDescGZIP() []byte { 561 file_custom_evaluator_proto_rawDescOnce.Do(func() { 562 file_custom_evaluator_proto_rawDescData = protoimpl.X.CompressGZIP(file_custom_evaluator_proto_rawDescData) 563 }) 564 return file_custom_evaluator_proto_rawDescData 565 } 566 567 var file_custom_evaluator_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 568 var file_custom_evaluator_proto_msgTypes = make([]protoimpl.MessageInfo, 4) 569 var file_custom_evaluator_proto_goTypes = []interface{}{ 570 (Comparison_Operator)(0), // 0: testgrid.custom_evaluator.Comparison.Operator 571 (*RuleSet)(nil), // 1: testgrid.custom_evaluator.RuleSet 572 (*Rule)(nil), // 2: testgrid.custom_evaluator.Rule 573 (*TestResultComparison)(nil), // 3: testgrid.custom_evaluator.TestResultComparison 574 (*Comparison)(nil), // 4: testgrid.custom_evaluator.Comparison 575 (test_status.TestStatus)(0), // 5: testgrid.test_status.TestStatus 576 } 577 var file_custom_evaluator_proto_depIdxs = []int32{ 578 2, // 0: testgrid.custom_evaluator.RuleSet.rules:type_name -> testgrid.custom_evaluator.Rule 579 3, // 1: testgrid.custom_evaluator.Rule.test_result_comparisons:type_name -> testgrid.custom_evaluator.TestResultComparison 580 5, // 2: testgrid.custom_evaluator.Rule.computed_status:type_name -> testgrid.test_status.TestStatus 581 4, // 3: testgrid.custom_evaluator.TestResultComparison.comparison:type_name -> testgrid.custom_evaluator.Comparison 582 0, // 4: testgrid.custom_evaluator.Comparison.op:type_name -> testgrid.custom_evaluator.Comparison.Operator 583 5, // 5: testgrid.custom_evaluator.Comparison.target_status_value:type_name -> testgrid.test_status.TestStatus 584 6, // [6:6] is the sub-list for method output_type 585 6, // [6:6] is the sub-list for method input_type 586 6, // [6:6] is the sub-list for extension type_name 587 6, // [6:6] is the sub-list for extension extendee 588 0, // [0:6] is the sub-list for field type_name 589 } 590 591 func init() { file_custom_evaluator_proto_init() } 592 func file_custom_evaluator_proto_init() { 593 if File_custom_evaluator_proto != nil { 594 return 595 } 596 if !protoimpl.UnsafeEnabled { 597 file_custom_evaluator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 598 switch v := v.(*RuleSet); i { 599 case 0: 600 return &v.state 601 case 1: 602 return &v.sizeCache 603 case 2: 604 return &v.unknownFields 605 default: 606 return nil 607 } 608 } 609 file_custom_evaluator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 610 switch v := v.(*Rule); i { 611 case 0: 612 return &v.state 613 case 1: 614 return &v.sizeCache 615 case 2: 616 return &v.unknownFields 617 default: 618 return nil 619 } 620 } 621 file_custom_evaluator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 622 switch v := v.(*TestResultComparison); i { 623 case 0: 624 return &v.state 625 case 1: 626 return &v.sizeCache 627 case 2: 628 return &v.unknownFields 629 default: 630 return nil 631 } 632 } 633 file_custom_evaluator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 634 switch v := v.(*Comparison); i { 635 case 0: 636 return &v.state 637 case 1: 638 return &v.sizeCache 639 case 2: 640 return &v.unknownFields 641 default: 642 return nil 643 } 644 } 645 } 646 file_custom_evaluator_proto_msgTypes[2].OneofWrappers = []interface{}{ 647 (*TestResultComparison_PropertyKey)(nil), 648 (*TestResultComparison_TestResultField)(nil), 649 (*TestResultComparison_TestResultErrorField)(nil), 650 (*TestResultComparison_TargetStatus)(nil), 651 } 652 file_custom_evaluator_proto_msgTypes[3].OneofWrappers = []interface{}{ 653 (*Comparison_StringValue)(nil), 654 (*Comparison_NumericalValue)(nil), 655 (*Comparison_TargetStatusValue)(nil), 656 } 657 type x struct{} 658 out := protoimpl.TypeBuilder{ 659 File: protoimpl.DescBuilder{ 660 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 661 RawDescriptor: file_custom_evaluator_proto_rawDesc, 662 NumEnums: 1, 663 NumMessages: 4, 664 NumExtensions: 0, 665 NumServices: 0, 666 }, 667 GoTypes: file_custom_evaluator_proto_goTypes, 668 DependencyIndexes: file_custom_evaluator_proto_depIdxs, 669 EnumInfos: file_custom_evaluator_proto_enumTypes, 670 MessageInfos: file_custom_evaluator_proto_msgTypes, 671 }.Build() 672 File_custom_evaluator_proto = out.File 673 file_custom_evaluator_proto_rawDesc = nil 674 file_custom_evaluator_proto_goTypes = nil 675 file_custom_evaluator_proto_depIdxs = nil 676 }