github.com/GoogleCloudPlatform/testgrid@v0.0.174/web/src/gen/pb/config/config.ts (about) 1 // @generated by protobuf-ts 2.8.3 with parameter long_type_string 2 // @generated from protobuf file "pb/config/config.proto" (package "testgrid.config", syntax proto3) 3 // tslint:disable 4 import type { BinaryWriteOptions } from "@protobuf-ts/runtime"; 5 import type { IBinaryWriter } from "@protobuf-ts/runtime"; 6 import { WireType } from "@protobuf-ts/runtime"; 7 import type { BinaryReadOptions } from "@protobuf-ts/runtime"; 8 import type { IBinaryReader } from "@protobuf-ts/runtime"; 9 import { UnknownFieldHandler } from "@protobuf-ts/runtime"; 10 import type { PartialMessage } from "@protobuf-ts/runtime"; 11 import { reflectionMergePartial } from "@protobuf-ts/runtime"; 12 import { MESSAGE_TYPE } from "@protobuf-ts/runtime"; 13 import { MessageType } from "@protobuf-ts/runtime"; 14 import { RuleSet } from "../custom_evaluator/custom_evaluator"; 15 /** 16 * Specifies the test name, and its source 17 * 18 * @generated from protobuf message testgrid.config.TestNameConfig 19 */ 20 export interface TestNameConfig { 21 /** 22 * The name elements specifying the target test name for this tab. 23 * 24 * @generated from protobuf field: repeated testgrid.config.TestNameConfig.NameElement name_elements = 1; 25 */ 26 nameElements: TestNameConfig_NameElement[]; 27 /** 28 * Specifies a printf-style format string for name elements. The format 29 * string should have as many conversions as there are name_elements. 30 * For example, two name_elements could be used with name_format="%s: %s". 31 * 32 * @generated from protobuf field: string name_format = 2; 33 */ 34 nameFormat: string; 35 } 36 /** 37 * Specifies name elements to be selected from configuration values 38 * 39 * @generated from protobuf message testgrid.config.TestNameConfig.NameElement 40 */ 41 export interface TestNameConfig_NameElement { 42 /** 43 * A space-delimited string of labels 44 * 45 * @generated from protobuf field: string labels = 1; 46 */ 47 labels: string; 48 /** 49 * Configuration value to use. 50 * Valid choice are: 51 * 'Tests name': The name of a test case 52 * 'Commit': The commit number of the build 53 * 'Context', 'Thread': The info extracted from each junit files: 54 * - junit_core-os_01.xml -> Context: core-os, Thread: 01 55 * - junit_runner.xml -> Context: runner 56 * - junit_01.xml -> Thread: 01 57 * or any metadata key from finished.json, which is copied from your test 58 * suite. 59 * 60 * A valid sample TestNameConfig looks like: 61 * test_name_config: 62 * name_elements: 63 * - target_config: Tests name 64 * - target_config: Context 65 * name_format: '%s [%s]' 66 * 67 * @generated from protobuf field: string target_config = 2; 68 */ 69 targetConfig: string; 70 /** 71 * Whether to use the build-target name 72 * 73 * @generated from protobuf field: bool build_target = 3; 74 */ 75 buildTarget: boolean; 76 /** 77 * A space-delimited string of Bazel build tags. 78 * 79 * @generated from protobuf field: string tags = 4; 80 */ 81 tags: string; 82 /** 83 * The key of a test result's property. 84 * 85 * @generated from protobuf field: string test_property = 5; 86 */ 87 testProperty: string; 88 } 89 /** 90 * A single notification. 91 * 92 * @generated from protobuf message testgrid.config.Notification 93 */ 94 export interface Notification { 95 /** 96 * Required: Text summary of the issue or notice. 97 * 98 * @generated from protobuf field: string summary = 1; 99 */ 100 summary: string; 101 /** 102 * Optional: Link to further information, such as a bug, email, document, etc. 103 * 104 * @generated from protobuf field: string context_link = 2; 105 */ 106 contextLink: string; 107 } 108 /** 109 * Specifies a group of tests to gather. 110 * 111 * @generated from protobuf message testgrid.config.TestGroup 112 */ 113 export interface TestGroup { 114 /** 115 * Name of this TestGroup, for mapping dashboard tabs to tests. 116 * 117 * @generated from protobuf field: string name = 1; 118 */ 119 name: string; 120 /** 121 * Path to the test result stored in gcs (some-bucket/some/optional/path). 122 * 123 * @generated from protobuf field: string gcs_prefix = 2; 124 */ 125 gcsPrefix: string; 126 /** 127 * Number of days of test results to gather and serve. 128 * 129 * @generated from protobuf field: int32 days_of_results = 3; 130 */ 131 daysOfResults: number; 132 /** 133 * Whether to ignore pending (currently running) test results. 134 * 135 * @generated from protobuf field: bool ignore_pending = 4; 136 */ 137 ignorePending: boolean; 138 /** 139 * Whether to ignore reported build results. It is recommended that tests 140 * report BUILD_FAIL instead of relying on this being disabled. 141 * 142 * @generated from protobuf field: bool ignore_built = 5; 143 */ 144 ignoreBuilt: boolean; 145 /** 146 * What to do with the 'Tests name' configuration value. It can replace the 147 * name of the test, be appended to the name of the test, or ignored. If it is 148 * ignored, then the name of the tests will be the build target. 149 * 150 * @generated from protobuf field: testgrid.config.TestGroup.TestsName tests_name_policy = 6; 151 */ 152 testsNamePolicy: TestGroup_TestsName; 153 /** 154 * Tests with names that include these substrings will be removed from the 155 * table. 156 * 157 * @generated from protobuf field: repeated string ignore_test_substring = 8; 158 */ 159 ignoreTestSubstring: string[]; 160 /** 161 * @generated from protobuf field: repeated testgrid.config.TestGroup.ColumnHeader column_header = 9; 162 */ 163 columnHeader: TestGroup_ColumnHeader[]; 164 /** 165 * A test grouping option used if not specified by primary_grouping (#29) 166 * 167 * @generated from protobuf field: testgrid.config.TestGroup.FallbackGrouping fallback_grouping = 10; 168 */ 169 fallbackGrouping: TestGroup_FallbackGrouping; 170 /** 171 * DEPRECATED: use DashboardTabAlertOptions > alert_stale_result_hours 172 * 173 * @deprecated 174 * @generated from protobuf field: int32 alert_stale_results_hours = 11 [deprecated = true]; 175 */ 176 alertStaleResultsHours: number; 177 /** 178 * DEPRECATED: use DashboardTabAlertOptions > num_failures_to_alert 179 * 180 * @deprecated 181 * @generated from protobuf field: int32 num_failures_to_alert = 12 [deprecated = true]; 182 */ 183 numFailuresToAlert: number; 184 /** 185 * DEPRECATED: use dashboard_tab.beta_autobug_options.beta_autobug_component 186 * instead. 187 * 188 * @deprecated 189 * @generated from protobuf field: int32 bug_component = 13 [deprecated = true]; 190 */ 191 bugComponent: number; 192 /** 193 * Default code search path for searching regressions. Overridden by 194 * code_search_path in DashboardTab. 195 * 196 * @generated from protobuf field: string code_search_path = 14; 197 */ 198 codeSearchPath: string; 199 /** 200 * The number of columns to consider "recent" for a variety of purposes. 201 * 202 * @generated from protobuf field: int32 num_columns_recent = 15; 203 */ 204 numColumnsRecent: number; 205 /** 206 * Whether to read test metadata from the test results. Information 207 * from the test metadata is used to determine where bugs are filed in 208 * specific cases. 209 * 210 * @generated from protobuf field: bool use_test_metadata = 16; 211 */ 212 useTestMetadata: boolean; 213 /** 214 * DEPRECATED: use DashboardTabAlertOptions > alert_mail_to_address instead 215 * 216 * @deprecated 217 * @generated from protobuf field: string alert_mail_to_addresses = 17 [deprecated = true]; 218 */ 219 alertMailToAddresses: string; 220 /** 221 * DEPRECATED: use DashboardTabAlertOptions > subject 222 * 223 * @deprecated 224 * @generated from protobuf field: string alert_mail_subject = 18 [deprecated = true]; 225 */ 226 alertMailSubject: string; 227 /** 228 * DEPRECATED: use DashboardTabAlertOptions > alert_mail_failure_message 229 * 230 * @deprecated 231 * @generated from protobuf field: string alert_mail_failure_message = 19 [deprecated = true]; 232 */ 233 alertMailFailureMessage: string; 234 /** 235 * DEPRECATED: use DashboardTabAlertOptions > debug_url 236 * 237 * @deprecated 238 * @generated from protobuf field: string alert_mail_debug_url = 20 [deprecated = true]; 239 */ 240 alertMailDebugUrl: string; 241 /** 242 * DEPRECATED: use DashboardTabAlertOptions > wait_minutes_between_emails 243 * 244 * @deprecated 245 * @generated from protobuf field: int32 min_elapsed_minutes_between_mails = 21 [deprecated = true]; 246 */ 247 minElapsedMinutesBetweenMails: number; 248 /** 249 * Whether to treat a combination of passes and failures within one test as a 250 * flaky status. 251 * 252 * @generated from protobuf field: bool enable_flaky_status = 23; 253 */ 254 enableFlakyStatus: boolean; 255 /** 256 * disable_merged_status will restores deprecated behavior of 257 * splitting multiple foo rows into foo [2], etc rather a single 258 * potentially flaky row. 259 * 260 * @generated from protobuf field: bool disable_merged_status = 60; 261 */ 262 disableMergedStatus: boolean; 263 /** 264 * deprecated - always set to true 265 * 266 * @deprecated 267 * @generated from protobuf field: bool use_kubernetes_client = 24 [deprecated = true]; 268 */ 269 useKubernetesClient: boolean; 270 /** 271 * When use_kubernetes_client is on testgrid expects these results 272 * to come from prow, which should include a prowjob.json and podinfo.json 273 * to help debugging. If you do not expect these files to exist, you 274 * can optionally disable this analysis. 275 * 276 * @generated from protobuf field: bool disable_prowjob_analysis = 62; 277 */ 278 disableProwjobAnalysis: boolean; 279 /** 280 * deprecated - always set to true 281 * 282 * @generated from protobuf field: bool is_external = 25; 283 */ 284 isExternal: boolean; 285 /** 286 * Specifies the test name for a test. 287 * 288 * @generated from protobuf field: testgrid.config.TestNameConfig test_name_config = 26; 289 */ 290 testNameConfig?: TestNameConfig; 291 /** 292 * A list of notifications attached to this test group. 293 * This is displayed on any dashboard tab backed by this test group. 294 * 295 * @generated from protobuf field: repeated testgrid.config.Notification notifications = 27; 296 */ 297 notifications: Notification[]; 298 /** 299 * A primary grouping strategy for grouping test results in columns. 300 * If a primary grouping is specified, the fallback grouping is ignored. 301 * 302 * @generated from protobuf field: testgrid.config.TestGroup.PrimaryGrouping primary_grouping = 29; 303 */ 304 primaryGrouping: TestGroup_PrimaryGrouping; 305 /** 306 * Whether to collect pass-fail data for test methods. Additional test cases 307 * will be added for each test method in a target. 308 * 309 * @generated from protobuf field: bool enable_test_methods = 30; 310 */ 311 enableTestMethods: boolean; 312 /** 313 * Test annotations to look for. Adds custom icon to results. 314 * 315 * @generated from protobuf field: repeated testgrid.config.TestGroup.TestAnnotation test_annotations = 31; 316 */ 317 testAnnotations: TestGroup_TestAnnotation[]; 318 /** 319 * Maximum number of individual test methods to collect for any given test 320 * row. If a test has more than this many methods, no methods will be 321 * displayed. 322 * 323 * @generated from protobuf field: int32 max_test_methods_per_test = 32; 324 */ 325 maxTestMethodsPerTest: number; 326 /** 327 * Default metadata that should be applied for opening bugs, if a given regex 328 * matches against a test's name. 329 * Requires 'use_test_metadata = true'. 330 * 331 * @generated from protobuf field: repeated testgrid.config.TestMetadataOptions test_metadata_options = 34; 332 */ 333 testMetadataOptions: TestMetadataOptions[]; 334 /** 335 * A space-delimited string of tags that are used to filter test targets. 336 * A leading - before the tag means this tag should not be present 337 * in the target. 338 * Example: 339 * contains tag1, but not tag2: test_tag_pattern = 'tag1 -tag2' 340 * 341 * @generated from protobuf field: string test_tag_pattern = 35; 342 */ 343 testTagPattern: string; 344 /** 345 * DEPRECATED: use dashboard_tab.beta_autobug_options instead. 346 * 347 * @deprecated 348 * @generated from protobuf field: testgrid.config.AutoBugOptions auto_bug_options = 36 [deprecated = true]; 349 */ 350 autoBugOptions?: AutoBugOptions; 351 /** 352 * Max number of days any single test can take. 353 * 354 * @generated from protobuf field: int32 max_test_runtime_hours = 37; 355 */ 356 maxTestRuntimeHours: number; 357 /** 358 * The number of consecutive test passes to close the alert. 359 * 360 * @generated from protobuf field: int32 num_passes_to_disable_alert = 38; 361 */ 362 numPassesToDisableAlert: number; 363 /** 364 * If true, also associate bugs with tests if the test result's overview/group 365 * ID is in the bug. 366 * 367 * @generated from protobuf field: bool link_bugs_by_group = 39; 368 */ 369 linkBugsByGroup: boolean; 370 /** 371 * Only show test methods with all required properties 372 * 373 * @generated from protobuf field: repeated testgrid.config.TestGroup.KeyValue test_method_properties = 41; 374 */ 375 testMethodProperties: TestGroup_KeyValue[]; 376 /** 377 * If true, allows gathering and associating bugs with targets in the 378 * dashboard. Required in order to auto-file bugs. 379 * 380 * @generated from protobuf field: bool gather_bugs = 42; 381 */ 382 gatherBugs: boolean; 383 /** 384 * Numeric property metric value to be used for short text. If this property 385 * is present, it will override all the other short text values. 386 * 387 * @generated from protobuf field: string short_text_metric = 43; 388 */ 389 shortTextMetric: string; 390 /** 391 * The key of a key-value pair in metadata (a 'configuration value'). 392 * This overrides the default build with the value from the key-value pair. 393 * 394 * @generated from protobuf field: string build_override_configuration_value = 44; 395 */ 396 buildOverrideConfigurationValue: string; 397 /** 398 * If true, only associate bugs with test methods if that test method is 399 * mentioned in the bug. If false, bugs will be associated with all test 400 * methods. 401 * 402 * @generated from protobuf field: bool link_bugs_by_test_methods = 45; 403 */ 404 linkBugsByTestMethods: boolean; 405 /** 406 * Regex to match test methods. Only test methods with names that match 407 * this regex will be included in the table. 408 * 409 * @generated from protobuf field: string test_method_match_regex = 46; 410 */ 411 testMethodMatchRegex: string; 412 /** 413 * Regex to exclude test methods. Test methods with names that match 414 * this regex will be excluded from the table, even if they match 415 * test_method_match_regex. 416 * 417 * @generated from protobuf field: string test_method_unmatch_regex = 61; 418 */ 419 testMethodUnmatchRegex: string; 420 /** 421 * If true, test method names are printed with the full class names. 422 * 423 * @generated from protobuf field: bool use_full_method_names = 47; 424 */ 425 useFullMethodNames: boolean; 426 /** 427 * A configuration value that is used as a fallback grouping. 428 * This is useful for cases where there are builds that shared the same 429 * commit but are run at separate times of day. 430 * 431 * @generated from protobuf field: string fallback_grouping_configuration_value = 49; 432 */ 433 fallbackGroupingConfigurationValue: string; 434 /** 435 * Configuration type of the result source. 436 * 437 * @generated from protobuf field: testgrid.config.TestGroup.ResultSource result_source = 50; 438 */ 439 resultSource?: TestGroup_ResultSource; 440 /** 441 * Set of rules that are evaluated with each test result. If an evaluation is 442 * successful, the status of that test result will be whatever is specified 443 * for a given rule. For more information, look at RuleSet documention 444 * 445 * @generated from protobuf field: testgrid.custom_evaluator.RuleSet custom_evaluator_rule_set = 51; 446 */ 447 customEvaluatorRuleSet?: RuleSet; 448 /** 449 * If true, instead of updating the group, read the state proto from storage 450 * and update summary, alerts, etc. from that state. 451 * This only applies to test group state, not bug state for a test group. 452 * This assumes that the state proto is updated through other means (another 453 * updater, manually, etc). 454 * 455 * @generated from protobuf field: bool read_state_from_storage = 52; 456 */ 457 readStateFromStorage: boolean; 458 /** 459 * If true, only add the most recent result for a test when multiple results 460 * for a test with the same name are encountered. 461 * 462 * @generated from protobuf field: bool ignore_old_results = 53; 463 */ 464 ignoreOldResults: boolean; 465 /** 466 * If True, ignore the 'pass with skips' status (show as a blank cell). 467 * 468 * @generated from protobuf field: bool ignore_skip = 54; 469 */ 470 ignoreSkip: boolean; 471 /** 472 * A string containing python formatting specifiers that overrides the 473 * commit with the date formatted according to this string. This is useful 474 * for aggregating multiple columns that don't have a matching commit. 475 * 476 * @generated from protobuf field: string build_override_strftime = 55; 477 */ 478 buildOverrideStrftime: string; 479 /** 480 * Specify a property that will be read into state in the user_property field. 481 * These can be substituted into LinkTemplates. 482 * 483 * @generated from protobuf field: string user_property = 56; 484 */ 485 userProperty: string; 486 /** 487 * Where to gather linked issues from. (Currently a no-op). 488 * 489 * @generated from protobuf field: testgrid.config.IssueGatherOptions issue_gather_options = 63; 490 */ 491 issueGatherOptions?: IssueGatherOptions; 492 } 493 /** 494 * Custom column headers for defining extra column-heading rows from values in 495 * the test result. 496 * 497 * @generated from protobuf message testgrid.config.TestGroup.ColumnHeader 498 */ 499 export interface TestGroup_ColumnHeader { 500 /** 501 * @generated from protobuf field: string label = 1; 502 */ 503 label: string; 504 /** 505 * @generated from protobuf field: string property = 2; 506 */ 507 property: string; 508 /** 509 * @generated from protobuf field: string configuration_value = 3; 510 */ 511 configurationValue: string; 512 /** 513 * If true, list all distinct values. Else, list multiple distinct values as 514 * "*". 515 * 516 * @generated from protobuf field: bool list_all_values = 4; 517 */ 518 listAllValues: boolean; 519 } 520 /** 521 * Associates the presence of a named test property with a custom short text 522 * displayed over the results. Short text must be <=5 characters long. 523 * 524 * @generated from protobuf message testgrid.config.TestGroup.TestAnnotation 525 */ 526 export interface TestGroup_TestAnnotation { 527 /** 528 * @generated from protobuf field: string short_text = 1; 529 */ 530 shortText: string; 531 /** 532 * @generated from protobuf oneof: short_text_message_source 533 */ 534 shortTextMessageSource: { 535 oneofKind: "propertyName"; 536 /** 537 * @generated from protobuf field: string property_name = 2; 538 */ 539 propertyName: string; 540 } | { 541 oneofKind: undefined; 542 }; 543 } 544 /** 545 * A string key value pair message 546 * 547 * @generated from protobuf message testgrid.config.TestGroup.KeyValue 548 */ 549 export interface TestGroup_KeyValue { 550 /** 551 * @generated from protobuf field: string key = 1; 552 */ 553 key: string; 554 /** 555 * @generated from protobuf field: string value = 2; 556 */ 557 value: string; 558 } 559 /** 560 * @generated from protobuf message testgrid.config.TestGroup.ResultSource 561 */ 562 export interface TestGroup_ResultSource { 563 /** 564 * @generated from protobuf oneof: result_source_config 565 */ 566 resultSourceConfig: { 567 oneofKind: "gcsConfig"; 568 /** 569 * GCS buckets holding junit and json results, typically created by prow. 570 * 571 * @generated from protobuf field: testgrid.config.GCSConfig gcs_config = 2; 572 */ 573 gcsConfig: GCSConfig; 574 } | { 575 oneofKind: undefined; 576 }; 577 } 578 /** 579 * @generated from protobuf enum testgrid.config.TestGroup.TestsName 580 */ 581 export enum TestGroup_TestsName { 582 /** 583 * @generated from protobuf enum value: TESTS_NAME_UNSPECIFIED = 0; 584 */ 585 UNSPECIFIED = 0, 586 /** 587 * @generated from protobuf enum value: TESTS_NAME_IGNORE = 1; 588 */ 589 IGNORE = 1, 590 /** 591 * @generated from protobuf enum value: TESTS_NAME_REPLACE = 2; 592 */ 593 REPLACE = 2, 594 /** 595 * @generated from protobuf enum value: TESTS_NAME_APPEND = 3; 596 */ 597 APPEND = 3 598 } 599 /** 600 * @generated from protobuf enum testgrid.config.TestGroup.FallbackGrouping 601 */ 602 export enum TestGroup_FallbackGrouping { 603 /** 604 * @generated from protobuf enum value: FALLBACK_GROUPING_NONE = 0; 605 */ 606 NONE = 0, 607 /** 608 * @generated from protobuf enum value: FALLBACK_GROUPING_DATE = 1; 609 */ 610 DATE = 1, 611 /** 612 * @generated from protobuf enum value: FALLBACK_GROUPING_LABELS = 2; 613 */ 614 LABELS = 2, 615 /** 616 * @generated from protobuf enum value: FALLBACK_GROUPING_ID = 3; 617 */ 618 ID = 3, 619 /** 620 * @generated from protobuf enum value: FALLBACK_GROUPING_BUILD = 4; 621 */ 622 BUILD = 4, 623 /** 624 * When using this, ensure fallback_grouping_configuration_value is 625 * also set. 626 * 627 * @generated from protobuf enum value: FALLBACK_GROUPING_CONFIGURATION_VALUE = 5; 628 */ 629 CONFIGURATION_VALUE = 5 630 } 631 /** 632 * @generated from protobuf enum testgrid.config.TestGroup.PrimaryGrouping 633 */ 634 export enum TestGroup_PrimaryGrouping { 635 /** 636 * @generated from protobuf enum value: PRIMARY_GROUPING_NONE = 0; 637 */ 638 NONE = 0, 639 /** 640 * @generated from protobuf enum value: PRIMARY_GROUPING_BUILD = 1; 641 */ 642 BUILD = 1 643 } 644 /** 645 * GCSConfig specifies results stored in GCS, typically created by prow. 646 * 647 * Each invocation is stored in a GCS path, containing json metadata files 648 * as well as junit and other artifacts specifying the result of the run. 649 * 650 * More info: 651 * https://github.com/GoogleCloudPlatform/testgrid/tree/master/metadata 652 * 653 * @generated from protobuf message testgrid.config.GCSConfig 654 */ 655 export interface GCSConfig { 656 /** 657 * Path to the test result stored in gcs (some-bucket/some/optional/path). 658 * 659 * @generated from protobuf field: string gcs_prefix = 1; 660 */ 661 gcsPrefix: string; 662 /** 663 * The GCP project where GCS sends notifications for the above prefix. 664 * 665 * @generated from protobuf field: string pubsub_project = 2; 666 */ 667 pubsubProject: string; 668 /** 669 * The pubsub subscription ID in the above topic 670 * 671 * @generated from protobuf field: string pubsub_subscription = 3; 672 */ 673 pubsubSubscription: string; 674 } 675 /** 676 * Options for where to gather linked issues from. 677 * 678 * @generated from protobuf message testgrid.config.IssueGatherOptions 679 */ 680 export interface IssueGatherOptions { 681 } 682 /** 683 * Default metadata to apply when opening bugs. 684 * 685 * @generated from protobuf message testgrid.config.TestMetadataOptions 686 */ 687 export interface TestMetadataOptions { 688 /** 689 * Apply the following metadata if this regex matches a test's name. 690 * 691 * @generated from protobuf field: string test_name_regex = 1; 692 */ 693 testNameRegex: string; 694 /** 695 * Default bug component to open a bug in. 696 * 697 * @generated from protobuf field: int32 bug_component = 2; 698 */ 699 bugComponent: number; 700 /** 701 * Default owner to assign a bug to. 702 * 703 * @generated from protobuf field: string owner = 3; 704 */ 705 owner: string; 706 /** 707 * List of default users to CC a bug to. 708 * 709 * @generated from protobuf field: repeated string cc = 4; 710 */ 711 cc: string[]; 712 /** 713 * Apply following metadata if this regex matches a test’s failure message. 714 * 715 * @generated from protobuf field: string message_regex = 5; 716 */ 717 messageRegex: string; 718 } 719 /** 720 * @generated from protobuf message testgrid.config.AutoBugOptions 721 */ 722 export interface AutoBugOptions { 723 /** 724 * [BETA] When specified, file bugs to this component, using the beta AutoBug. 725 * If you do not want to opt into the beta, specify `bug_component` in your 726 * TestGroup instead. 727 * TODO(b/154866134): Rename to autobug_component once we've migrated. 728 * 729 * @generated from protobuf field: int32 beta_autobug_component = 10; 730 */ 731 betaAutobugComponent: number; 732 /** 733 * Whether to auto-close auto-filed bugs. 734 * Alias for "passing_behavior = CLOSE_ON_PASSING"; 735 * 736 * @generated from protobuf field: bool auto_close = 1; 737 */ 738 autoClose: boolean; 739 /** 740 * A list of hotlist ids attached to auto-filed bugs. 741 * 742 * @generated from protobuf field: repeated int64 hotlist_ids = 2; 743 */ 744 hotlistIds: string[]; 745 /** 746 * The priority of the auto-filed bug. If provided, this will overwrite the 747 * priority in the component default template 748 * 749 * @generated from protobuf field: testgrid.config.AutoBugOptions.Priority priority = 3; 750 */ 751 priority: AutoBugOptions_Priority; 752 /** 753 * A list of hotlist id sources 754 * Corresponds with the list hotlist_ids (#2) 755 * 756 * @deprecated 757 * @generated from protobuf field: repeated testgrid.config.HotlistIdFromSource hotlist_ids_from_source = 4 [deprecated = true]; 758 */ 759 hotlistIdsFromSource: HotlistIdFromSource[]; 760 /** 761 * If True, files separate bugs for each failing target, instead of one bug 762 * for each set of targets failing at the same run. 763 * 764 * @generated from protobuf field: bool file_individual = 5; 765 */ 766 fileIndividual: boolean; 767 /** 768 * If True; keep only one automantic bug per target, regardless of the number 769 * of separate failures a target gets. Requires `file_individual` to be True. 770 * Consider setting `num_passes_to_disable_alert` instead if you're tracking 771 * flaky tests. 772 * 773 * @generated from protobuf field: bool singleton_autobug = 6; 774 */ 775 singletonAutobug: boolean; 776 /** 777 * If provided: only raise one bug if the number of failures for a single 778 * query by testgrid for a single failure group exceeds this value. Requires 779 * 'file_individual' to be True. 780 * 781 * @generated from protobuf field: int32 max_allowed_individual_bugs = 7; 782 */ 783 maxAllowedIndividualBugs: number; 784 /** 785 * If True; file issues for the 'Overall' target, even if otherwise invalid. 786 * 787 * @generated from protobuf field: bool file_overall = 8; 788 */ 789 fileOverall: boolean; 790 /** 791 * If provided: supplements `max_allowed_individual_bugs` field to raise a 792 * single bug if the number of failures for a single query by testgrid exceeds 793 * the max_allowed_individual_bugs` value, regardless of `TEST_METADATA` 794 * configurations. This is useful for filing fewer suspected environmental 795 * failure bugs and routing them to a specific location (i.e. an oncall). 796 * Requires 'file_individual' to be true and `max_allowed_individual_bugs` to 797 * not be empty. 798 * 799 * @generated from protobuf field: testgrid.config.AutoBugOptions.DefaultTestMetadata default_test_metadata = 9; 800 */ 801 defaultTestMetadata?: AutoBugOptions_DefaultTestMetadata; 802 /** 803 * [BETA] If True, query the test metadata API to get issue-routing metadata. 804 * Enables routing issues using structured test failures. 805 * 806 * @generated from protobuf field: bool advanced_test_metadata = 11; 807 */ 808 advancedTestMetadata: boolean; 809 /** 810 * If True, file a bug when the tab goes stale. 811 * (Requires `alert_stale_results_hours` to be set.) 812 * 813 * @generated from protobuf field: bool file_stale = 12; 814 */ 815 fileStale: boolean; 816 /** 817 * If True, ignore overall rows when auto-filing. 818 * 819 * @generated from protobuf field: bool ignore_overall = 13; 820 */ 821 ignoreOverall: boolean; 822 /** 823 * [BETA] Extra text displayed in opened bugs. e.g., for including a link to a 824 * playbook. 825 * 826 * @generated from protobuf field: string note = 14; 827 */ 828 note: string; 829 } 830 /** 831 * @generated from protobuf message testgrid.config.AutoBugOptions.DefaultTestMetadata 832 */ 833 export interface AutoBugOptions_DefaultTestMetadata { 834 /** 835 * @generated from protobuf field: int32 bug_component = 1; 836 */ 837 bugComponent: number; 838 /** 839 * @generated from protobuf field: string owner = 2; 840 */ 841 owner: string; 842 /** 843 * @generated from protobuf field: repeated string cc = 3; 844 */ 845 cc: string[]; 846 } 847 /** 848 * Scale of issue priority, used to indicate importance of issue. 849 * 850 * @generated from protobuf enum testgrid.config.AutoBugOptions.Priority 851 */ 852 export enum AutoBugOptions_Priority { 853 /** 854 * Unspecified; may not set priority at all 855 * 856 * @generated from protobuf enum value: PRIORITY_UNSPECIFIED = 0; 857 */ 858 PRIORITY_UNSPECIFIED = 0, 859 /** 860 * See https://developers.google.com/issue-tracker/concepts/issues 861 * 862 * @generated from protobuf enum value: P0 = 1; 863 */ 864 P0 = 1, 865 /** 866 * @generated from protobuf enum value: P1 = 2; 867 */ 868 P1 = 2, 869 /** 870 * @generated from protobuf enum value: P2 = 3; 871 */ 872 P2 = 3, 873 /** 874 * @generated from protobuf enum value: P3 = 4; 875 */ 876 P3 = 4, 877 /** 878 * @generated from protobuf enum value: P4 = 5; 879 */ 880 P4 = 5 881 } 882 /** 883 * @generated from protobuf message testgrid.config.HotlistIdFromSource 884 */ 885 export interface HotlistIdFromSource { 886 /** 887 * @generated from protobuf oneof: hotlist_id_source 888 */ 889 hotlistIdSource: { 890 oneofKind: "value"; 891 /** 892 * ID value of hotlists 893 * 894 * @generated from protobuf field: int64 value = 1; 895 */ 896 value: string; 897 } | { 898 oneofKind: "label"; 899 /** 900 * A label prefix 901 * 902 * @generated from protobuf field: string label = 2; 903 */ 904 label: string; 905 } | { 906 oneofKind: undefined; 907 }; 908 } 909 /** 910 * Specifies a dashboard. 911 * 912 * @generated from protobuf message testgrid.config.Dashboard 913 */ 914 export interface Dashboard { 915 /** 916 * A list of the tabs on the dashboard. 917 * 918 * @generated from protobuf field: repeated testgrid.config.DashboardTab dashboard_tab = 1; 919 */ 920 dashboardTab: DashboardTab[]; 921 /** 922 * A name for the Dashboard. 923 * 924 * @generated from protobuf field: string name = 2; 925 */ 926 name: string; 927 /** 928 * A list of notifications attached to this dashboard. 929 * This is displayed on any dashboard tab in this dashboard. 930 * 931 * @generated from protobuf field: repeated testgrid.config.Notification notifications = 3; 932 */ 933 notifications: Notification[]; 934 /** 935 * Control which tab is displayed when first opening a dashboard. 936 * Defaults to Summary 937 * 938 * @generated from protobuf field: string default_tab = 5; 939 */ 940 defaultTab: string; 941 /** 942 * Controls whether to suppress highlighting of failing tabs. 943 * 944 * @generated from protobuf field: bool downplay_failing_tabs = 8; 945 */ 946 downplayFailingTabs: boolean; 947 /** 948 * Deprecated: Invert of 'downplay_failing_tabs' 949 * 950 * @deprecated 951 * @generated from protobuf field: bool highlight_failing_tabs = 6 [deprecated = true]; 952 */ 953 highlightFailingTabs: boolean; 954 /** 955 * Controls whether to apply special highlighting to result header columns for 956 * the current day. 957 * 958 * @generated from protobuf field: bool highlight_today = 7; 959 */ 960 highlightToday: boolean; 961 /** 962 * A description paragraph to be displayed. 963 * 964 * @generated from protobuf field: string description = 9; 965 */ 966 description: string; 967 } 968 /** 969 * @generated from protobuf message testgrid.config.LinkTemplate 970 */ 971 export interface LinkTemplate { 972 /** 973 * The URL template. 974 * 975 * @generated from protobuf field: string url = 1; 976 */ 977 url: string; 978 /** 979 * The options templates. 980 * 981 * @generated from protobuf field: repeated testgrid.config.LinkOptionsTemplate options = 2; 982 */ 983 options: LinkOptionsTemplate[]; 984 /** 985 * An optional name, used for the context menu 986 * 987 * @generated from protobuf field: string name = 3; 988 */ 989 name: string; 990 } 991 /** 992 * A simple key/value pair for link options. 993 * 994 * @generated from protobuf message testgrid.config.LinkOptionsTemplate 995 */ 996 export interface LinkOptionsTemplate { 997 /** 998 * The key for the option. This is not expanded. 999 * 1000 * @generated from protobuf field: string key = 1; 1001 */ 1002 key: string; 1003 /** 1004 * The value for the option. This is expanded the same as the LinkTemplate. 1005 * 1006 * @generated from protobuf field: string value = 2; 1007 */ 1008 value: string; 1009 } 1010 /** 1011 * A single tab on a dashboard. 1012 * 1013 * @generated from protobuf message testgrid.config.DashboardTab 1014 */ 1015 export interface DashboardTab { 1016 /** 1017 * The name of the dashboard tab to display in the client. 1018 * 1019 * @generated from protobuf field: string name = 1; 1020 */ 1021 name: string; 1022 /** 1023 * The name of the TestGroup specifying the test results for this tab. 1024 * 1025 * @generated from protobuf field: string test_group_name = 2; 1026 */ 1027 testGroupName: string; 1028 /** 1029 * Default bug component for manually filing bugs from the dashboard 1030 * 1031 * @generated from protobuf field: int32 bug_component = 3; 1032 */ 1033 bugComponent: number; 1034 /** 1035 * Default code search path for searching regressions. This value overrides 1036 * the default in the TestGroup config so that dashboards may be customized 1037 * separately. 1038 * 1039 * @generated from protobuf field: string code_search_path = 4; 1040 */ 1041 codeSearchPath: string; 1042 /** 1043 * See TestGroup.num_columns_recent. This value overrides the default in the 1044 * TestGroup config so that dashboards may be customized separately. 1045 * 1046 * @generated from protobuf field: int32 num_columns_recent = 5; 1047 */ 1048 numColumnsRecent: number; 1049 /** 1050 * Base options to always include, for example: 1051 * width=20&include-filter-by-regex=level_tests 1052 * This is taken from the #fragment part of the testgrid url. 1053 * Best way to create these is to setup the options on testgrid and then 1054 * copy the #fragment part. 1055 * 1056 * @generated from protobuf field: string base_options = 6; 1057 */ 1058 baseOptions: string; 1059 /** 1060 * The URL template to visit after clicking on a cell. 1061 * 1062 * @generated from protobuf field: testgrid.config.LinkTemplate open_test_template = 7; 1063 */ 1064 openTestTemplate?: LinkTemplate; 1065 /** 1066 * The URL template to visit when filing a bug. 1067 * 1068 * @generated from protobuf field: testgrid.config.LinkTemplate file_bug_template = 8; 1069 */ 1070 fileBugTemplate?: LinkTemplate; 1071 /** 1072 * The URL template to visit when attaching a bug 1073 * 1074 * @generated from protobuf field: testgrid.config.LinkTemplate attach_bug_template = 9; 1075 */ 1076 attachBugTemplate?: LinkTemplate; 1077 /** 1078 * Text to show in the about menu as a link to another view of the results. 1079 * 1080 * @generated from protobuf field: string results_text = 10; 1081 */ 1082 resultsText: string; 1083 /** 1084 * The URL template to visit after clicking. 1085 * 1086 * @generated from protobuf field: testgrid.config.LinkTemplate results_url_template = 11; 1087 */ 1088 resultsUrlTemplate?: LinkTemplate; 1089 /** 1090 * The URL template to visit when searching for code changes, such as pull 1091 * requests 1092 * 1093 * @generated from protobuf field: testgrid.config.LinkTemplate code_search_url_template = 12; 1094 */ 1095 codeSearchUrlTemplate?: LinkTemplate; 1096 /** 1097 * A description paragraph to be displayed. 1098 * 1099 * @generated from protobuf field: string description = 13; 1100 */ 1101 description: string; 1102 /** 1103 * A regular expression that uses the named group syntax to specify how to 1104 * show names in a table. 1105 * 1106 * @generated from protobuf field: string tabular_names_regex = 14; 1107 */ 1108 tabularNamesRegex: string; 1109 /** 1110 * Configuration options for dashboard tab alerts. 1111 * 1112 * @generated from protobuf field: testgrid.config.DashboardTabAlertOptions alert_options = 15; 1113 */ 1114 alertOptions?: DashboardTabAlertOptions; 1115 /** 1116 * Configuration options for dashboard tab flakiness alerts. 1117 * 1118 * @generated from protobuf field: testgrid.config.DashboardTabFlakinessAlertOptions flakiness_alert_options = 24; 1119 */ 1120 flakinessAlertOptions?: DashboardTabFlakinessAlertOptions; 1121 /** 1122 * Configuration options for customizing dashboard tab status calculation. 1123 * 1124 * @generated from protobuf field: testgrid.config.DashboardTabStatusCustomizationOptions status_customization_options = 26; 1125 */ 1126 statusCustomizationOptions?: DashboardTabStatusCustomizationOptions; 1127 /** 1128 * A URL for the "About this Dashboard" menu option 1129 * 1130 * @generated from protobuf field: string about_dashboard_url = 16; 1131 */ 1132 aboutDashboardUrl: string; 1133 /** 1134 * The URL template to visit when viewing an associated bug. 1135 * 1136 * @generated from protobuf field: testgrid.config.LinkTemplate open_bug_template = 17; 1137 */ 1138 openBugTemplate?: LinkTemplate; 1139 /** 1140 * If true, auto-file bugs when new alerts occur. This requires that the 1141 * backing test group has `bug_component` set and uses the backing test 1142 * group's `auto_bug_options`. 1143 * 1144 * @generated from protobuf field: bool auto_file_bugs = 18; 1145 */ 1146 autoFileBugs: boolean; 1147 /** 1148 * Display user local time on the dashboard when set to true (by default). 1149 * If false, uses Pacific Timezone for this DashboardTab. 1150 * 1151 * @generated from protobuf field: bool display_local_time = 19; 1152 */ 1153 displayLocalTime: boolean; 1154 /** 1155 * A set of optional LinkTemplates that will become right-click context menu 1156 * items. 1157 * TODO(b/159042168) in the near future this should be re-implemented as a 1158 * generic list of repeated LinkTemplates which users may specify in their 1159 * reqpective configurations as right-click context menus with names and 1160 * actions upon being clicked. 1161 * 1162 * @generated from protobuf field: testgrid.config.LinkTemplate context_menu_template = 20; 1163 */ 1164 contextMenuTemplate?: LinkTemplate; 1165 /** 1166 * When specified, treat a tab as BROKEN as long as one of the most recent 1167 * columns are "broken" (ratio of failed to total tests exceeds <threshold>). 1168 * 1169 * @generated from protobuf field: float broken_column_threshold = 21; 1170 */ 1171 brokenColumnThreshold: number; 1172 /** 1173 * Options for auto-filed bugs. 1174 * Using this for a dashboard tab requires specifying `beta_autobug_component` 1175 * and will opt you into the beta AutoBug. 1176 * 1177 * @generated from protobuf field: testgrid.config.AutoBugOptions beta_autobug_options = 22; 1178 */ 1179 betaAutobugOptions?: AutoBugOptions; 1180 /** 1181 * Options for the configuration of the flakiness analysis tool, on a per tab 1182 * basis 1183 * 1184 * @generated from protobuf field: testgrid.config.HealthAnalysisOptions health_analysis_options = 23; 1185 */ 1186 healthAnalysisOptions?: HealthAnalysisOptions; 1187 /** 1188 * A set of optional Link Templates when search for diffs between columns. 1189 * 1190 * @generated from protobuf field: repeated testgrid.config.LinkTemplate column_diff_link_templates = 25; 1191 */ 1192 columnDiffLinkTemplates: LinkTemplate[]; 1193 } 1194 /** 1195 * Configuration options for dashboard tab alerts. 1196 * 1197 * @generated from protobuf message testgrid.config.DashboardTabAlertOptions 1198 */ 1199 export interface DashboardTabAlertOptions { 1200 /** 1201 * Time in hours before an alert will be added to a test results table if the 1202 * run date of the latest results are older than this time. If zero, no 1203 * alerts are raised. 1204 * 1205 * @generated from protobuf field: int32 alert_stale_results_hours = 1; 1206 */ 1207 alertStaleResultsHours: number; 1208 /** 1209 * The number of consecutive test result failures to see before alerting of 1210 * a consistent failure. If zero, no alerts are raised. 1211 * 1212 * @generated from protobuf field: int32 num_failures_to_alert = 2; 1213 */ 1214 numFailuresToAlert: number; 1215 /** 1216 * The comma-separated addresses to send mail. 1217 * 1218 * @generated from protobuf field: string alert_mail_to_addresses = 3; 1219 */ 1220 alertMailToAddresses: string; 1221 /** 1222 * The number of consecutive test passes to close the alert. 1223 * 1224 * @generated from protobuf field: int32 num_passes_to_disable_alert = 4; 1225 */ 1226 numPassesToDisableAlert: number; 1227 /** 1228 * Custom subject for alert mails. 1229 * 1230 * @generated from protobuf field: string subject = 5; 1231 */ 1232 subject: string; 1233 /** 1234 * Custom link for further help/instructions on debugging this alert. 1235 * 1236 * @generated from protobuf field: string debug_url = 6; 1237 */ 1238 debugUrl: string; 1239 /** 1240 * Custom text to show for the debug link. 1241 * 1242 * @generated from protobuf field: string debug_message = 7; 1243 */ 1244 debugMessage: string; 1245 /** 1246 * Wait time between emails. If unset or zero, an email will be sent only once 1247 * it becomes a consistent failure, and not again until it succeeds. 1248 * TestGrid does not pester about staleness 1249 * 1250 * @generated from protobuf field: int32 wait_minutes_between_emails = 8; 1251 */ 1252 waitMinutesBetweenEmails: number; 1253 /** 1254 * A custom message 1255 * 1256 * @generated from protobuf field: string alert_mail_failure_message = 9; 1257 */ 1258 alertMailFailureMessage: string; 1259 } 1260 /** 1261 * Configuration options for dashboard tab flakiness alerts. 1262 * 1263 * @generated from protobuf message testgrid.config.DashboardTabFlakinessAlertOptions 1264 */ 1265 export interface DashboardTabFlakinessAlertOptions { 1266 /** 1267 * The minimum amount of flakiness needed to trigger a flakiness alert. 1268 * 0=Disable alerts 1269 * This is a percentage; expected values go from 0 to 100 (100 = 100% flaky) 1270 * 1271 * @generated from protobuf field: float minimum_flakiness_to_alert = 1; 1272 */ 1273 minimumFlakinessToAlert: number; 1274 /** 1275 * The comma-separated addresses to send mail. 1276 * 1277 * @generated from protobuf field: string alert_mail_to_addresses = 2; 1278 */ 1279 alertMailToAddresses: string; 1280 /** 1281 * Custom subject for alert mails. 1282 * 1283 * @generated from protobuf field: string subject = 3; 1284 */ 1285 subject: string; 1286 /** 1287 * Minimum time between sending mails. 1288 * 1289 * @generated from protobuf field: int32 wait_minutes_between_emails = 4; 1290 */ 1291 waitMinutesBetweenEmails: number; 1292 /** 1293 * A custom message 1294 * TODO(RonWeber): This should be a template 1295 * 1296 * @generated from protobuf field: string alert_mail_failure_message = 5; 1297 */ 1298 alertMailFailureMessage: string; 1299 } 1300 /** 1301 * Configuration options for customizing the tab status calculation. 1302 * 1303 * @generated from protobuf message testgrid.config.DashboardTabStatusCustomizationOptions 1304 */ 1305 export interface DashboardTabStatusCustomizationOptions { 1306 /** 1307 * Maximum amount of flakiness tolerated to categorize tab as acceptable. Will 1308 * supplement dashboard tab status message, and mark the tab as ACCEPTABLE in 1309 * the dashboard group view. Set to "0" to disable. This is configured as a 1310 * percentage of valid (non-ignored) columns; expected values go from 0.0 to 1311 * 100.0 (100% = no passing columns is acceptable) 1312 * 1313 * @generated from protobuf field: float max_acceptable_flakiness = 1; 1314 */ 1315 maxAcceptableFlakiness: number; 1316 /** 1317 * @generated from protobuf field: repeated testgrid.config.DashboardTabStatusCustomizationOptions.IgnoredTestStatus ignored_test_statuses = 2; 1318 */ 1319 ignoredTestStatuses: DashboardTabStatusCustomizationOptions_IgnoredTestStatus[]; 1320 /** 1321 * Minimum number of runs required excluding ignored ones. 1322 * If the non-ignored columns is less than this, tab status will be PENDING. 1323 * 1324 * @generated from protobuf field: int32 min_acceptable_runs = 3; 1325 */ 1326 minAcceptableRuns: number; 1327 } 1328 /** 1329 * Columns which contain cells with any status configure below will be 1330 * ignored. Ignored columns affect the computation of flakiness and 1331 * non-ignored number of runs. 1332 * 1333 * @generated from protobuf enum testgrid.config.DashboardTabStatusCustomizationOptions.IgnoredTestStatus 1334 */ 1335 export enum DashboardTabStatusCustomizationOptions_IgnoredTestStatus { 1336 /** 1337 * @generated from protobuf enum value: TEST_STATUS_UNSPECIFIED = 0; 1338 */ 1339 TEST_STATUS_UNSPECIFIED = 0, 1340 /** 1341 * @generated from protobuf enum value: CATEGORIZED_ABORT = 1; 1342 */ 1343 CATEGORIZED_ABORT = 1, 1344 /** 1345 * @generated from protobuf enum value: UNKNOWN = 2; 1346 */ 1347 UNKNOWN = 2, 1348 /** 1349 * @generated from protobuf enum value: CANCEL = 3; 1350 */ 1351 CANCEL = 3, 1352 /** 1353 * @generated from protobuf enum value: BLOCKED = 4; 1354 */ 1355 BLOCKED = 4 1356 } 1357 /** 1358 * Specifies a dashboard group. 1359 * 1360 * @generated from protobuf message testgrid.config.DashboardGroup 1361 */ 1362 export interface DashboardGroup { 1363 /** 1364 * The name for the dashboard group. 1365 * 1366 * @generated from protobuf field: string name = 1; 1367 */ 1368 name: string; 1369 /** 1370 * A list of names specifying dashboards to show links to in a separate tabbed 1371 * bar at the top of the page for each of the given dashboards. 1372 * 1373 * @generated from protobuf field: repeated string dashboard_names = 2; 1374 */ 1375 dashboardNames: string[]; 1376 /** 1377 * A description paragraph to be displayed. 1378 * 1379 * @generated from protobuf field: string description = 3; 1380 */ 1381 description: string; 1382 } 1383 /** 1384 * A service configuration consisting of multiple test groups and dashboards. 1385 * 1386 * @generated from protobuf message testgrid.config.Configuration 1387 */ 1388 export interface Configuration { 1389 /** 1390 * A list of groups of tests to gather. 1391 * 1392 * @generated from protobuf field: repeated testgrid.config.TestGroup test_groups = 1; 1393 */ 1394 testGroups: TestGroup[]; 1395 /** 1396 * A list of all of the dashboards for a server. 1397 * 1398 * @generated from protobuf field: repeated testgrid.config.Dashboard dashboards = 2; 1399 */ 1400 dashboards: Dashboard[]; 1401 /** 1402 * A list of all the dashboard groups for a server. 1403 * 1404 * @generated from protobuf field: repeated testgrid.config.DashboardGroup dashboard_groups = 3; 1405 */ 1406 dashboardGroups: DashboardGroup[]; 1407 } 1408 /** 1409 * A grouping of configuration options for the flakiness analysis tool. 1410 * Later configuration options could include the ability to choose different 1411 * kinds of flakiness and choosing if and who to email a copy of the flakiness 1412 * report. 1413 * 1414 * @generated from protobuf message testgrid.config.HealthAnalysisOptions 1415 */ 1416 export interface HealthAnalysisOptions { 1417 /** 1418 * Defaults to false; flakiness analysis is opt-in 1419 * 1420 * @generated from protobuf field: bool enable = 1; 1421 */ 1422 enable: boolean; 1423 /** 1424 * Defines the number of days for one interval of analysis. 1425 * i.e. flakiness will be analyzed for the previous N days starting from Now, 1426 * and it will be compared to the calculated N days before that for trend 1427 * analysis. 1428 * 1429 * @generated from protobuf field: int32 days_of_analysis = 2; 1430 */ 1431 daysOfAnalysis: number; 1432 /** 1433 * When to send healthiness emails out, uses cron string format. 1434 * 1435 * @generated from protobuf field: string email_schedule = 3; 1436 */ 1437 emailSchedule: string; 1438 /** 1439 * A comma-separated list of healthiness email recipients. 1440 * 1441 * @generated from protobuf field: string email_recipients = 4; 1442 */ 1443 emailRecipients: string; 1444 /** 1445 * A compilable regex string for grouping tests by name. 1446 * Works the same as the group-by-regex-mask option of base_options: 1447 * go/testgrid/users/dashboard_guide#grouping-tests 1448 * An empty string means no grouping. 1449 * e.g. test name: "//path/to/test - env", regex: ` - \w+` 1450 * The regex will match " - env" in the above test name and give a group of: 1451 * //path/to/test <- Group Name 1452 * - env <- Group Member 1453 * 1454 * @generated from protobuf field: string grouping_regex = 5; 1455 */ 1456 groupingRegex: string; 1457 } 1458 /** 1459 * The DefaultConfiguration Proto is deprecated, and will be deleted after Nov 1460 * 1, 2019. For defaulting behavior, use the yamlcfg library instead. 1461 * 1462 * @generated from protobuf message testgrid.config.DefaultConfiguration 1463 */ 1464 export interface DefaultConfiguration { 1465 /** 1466 * A default testgroup with default initialization data 1467 * 1468 * @deprecated 1469 * @generated from protobuf field: testgrid.config.TestGroup default_test_group = 1 [deprecated = true]; 1470 */ 1471 defaultTestGroup?: TestGroup; 1472 /** 1473 * A default dashboard tab with default initialization data 1474 * 1475 * @deprecated 1476 * @generated from protobuf field: testgrid.config.DashboardTab default_dashboard_tab = 2 [deprecated = true]; 1477 */ 1478 defaultDashboardTab?: DashboardTab; 1479 } 1480 // @generated message type with reflection information, may provide speed optimized methods 1481 class TestNameConfig$Type extends MessageType<TestNameConfig> { 1482 constructor() { 1483 super("testgrid.config.TestNameConfig", [ 1484 { no: 1, name: "name_elements", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => TestNameConfig_NameElement }, 1485 { no: 2, name: "name_format", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 1486 ]); 1487 } 1488 create(value?: PartialMessage<TestNameConfig>): TestNameConfig { 1489 const message = { nameElements: [], nameFormat: "" }; 1490 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 1491 if (value !== undefined) 1492 reflectionMergePartial<TestNameConfig>(this, message, value); 1493 return message; 1494 } 1495 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TestNameConfig): TestNameConfig { 1496 let message = target ?? this.create(), end = reader.pos + length; 1497 while (reader.pos < end) { 1498 let [fieldNo, wireType] = reader.tag(); 1499 switch (fieldNo) { 1500 case /* repeated testgrid.config.TestNameConfig.NameElement name_elements */ 1: 1501 message.nameElements.push(TestNameConfig_NameElement.internalBinaryRead(reader, reader.uint32(), options)); 1502 break; 1503 case /* string name_format */ 2: 1504 message.nameFormat = reader.string(); 1505 break; 1506 default: 1507 let u = options.readUnknownField; 1508 if (u === "throw") 1509 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 1510 let d = reader.skip(wireType); 1511 if (u !== false) 1512 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 1513 } 1514 } 1515 return message; 1516 } 1517 internalBinaryWrite(message: TestNameConfig, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 1518 /* repeated testgrid.config.TestNameConfig.NameElement name_elements = 1; */ 1519 for (let i = 0; i < message.nameElements.length; i++) 1520 TestNameConfig_NameElement.internalBinaryWrite(message.nameElements[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join(); 1521 /* string name_format = 2; */ 1522 if (message.nameFormat !== "") 1523 writer.tag(2, WireType.LengthDelimited).string(message.nameFormat); 1524 let u = options.writeUnknownFields; 1525 if (u !== false) 1526 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 1527 return writer; 1528 } 1529 } 1530 /** 1531 * @generated MessageType for protobuf message testgrid.config.TestNameConfig 1532 */ 1533 export const TestNameConfig = new TestNameConfig$Type(); 1534 // @generated message type with reflection information, may provide speed optimized methods 1535 class TestNameConfig_NameElement$Type extends MessageType<TestNameConfig_NameElement> { 1536 constructor() { 1537 super("testgrid.config.TestNameConfig.NameElement", [ 1538 { no: 1, name: "labels", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1539 { no: 2, name: "target_config", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1540 { no: 3, name: "build_target", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1541 { no: 4, name: "tags", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1542 { no: 5, name: "test_property", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 1543 ]); 1544 } 1545 create(value?: PartialMessage<TestNameConfig_NameElement>): TestNameConfig_NameElement { 1546 const message = { labels: "", targetConfig: "", buildTarget: false, tags: "", testProperty: "" }; 1547 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 1548 if (value !== undefined) 1549 reflectionMergePartial<TestNameConfig_NameElement>(this, message, value); 1550 return message; 1551 } 1552 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TestNameConfig_NameElement): TestNameConfig_NameElement { 1553 let message = target ?? this.create(), end = reader.pos + length; 1554 while (reader.pos < end) { 1555 let [fieldNo, wireType] = reader.tag(); 1556 switch (fieldNo) { 1557 case /* string labels */ 1: 1558 message.labels = reader.string(); 1559 break; 1560 case /* string target_config */ 2: 1561 message.targetConfig = reader.string(); 1562 break; 1563 case /* bool build_target */ 3: 1564 message.buildTarget = reader.bool(); 1565 break; 1566 case /* string tags */ 4: 1567 message.tags = reader.string(); 1568 break; 1569 case /* string test_property */ 5: 1570 message.testProperty = reader.string(); 1571 break; 1572 default: 1573 let u = options.readUnknownField; 1574 if (u === "throw") 1575 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 1576 let d = reader.skip(wireType); 1577 if (u !== false) 1578 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 1579 } 1580 } 1581 return message; 1582 } 1583 internalBinaryWrite(message: TestNameConfig_NameElement, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 1584 /* string labels = 1; */ 1585 if (message.labels !== "") 1586 writer.tag(1, WireType.LengthDelimited).string(message.labels); 1587 /* string target_config = 2; */ 1588 if (message.targetConfig !== "") 1589 writer.tag(2, WireType.LengthDelimited).string(message.targetConfig); 1590 /* bool build_target = 3; */ 1591 if (message.buildTarget !== false) 1592 writer.tag(3, WireType.Varint).bool(message.buildTarget); 1593 /* string tags = 4; */ 1594 if (message.tags !== "") 1595 writer.tag(4, WireType.LengthDelimited).string(message.tags); 1596 /* string test_property = 5; */ 1597 if (message.testProperty !== "") 1598 writer.tag(5, WireType.LengthDelimited).string(message.testProperty); 1599 let u = options.writeUnknownFields; 1600 if (u !== false) 1601 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 1602 return writer; 1603 } 1604 } 1605 /** 1606 * @generated MessageType for protobuf message testgrid.config.TestNameConfig.NameElement 1607 */ 1608 export const TestNameConfig_NameElement = new TestNameConfig_NameElement$Type(); 1609 // @generated message type with reflection information, may provide speed optimized methods 1610 class Notification$Type extends MessageType<Notification> { 1611 constructor() { 1612 super("testgrid.config.Notification", [ 1613 { no: 1, name: "summary", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1614 { no: 2, name: "context_link", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 1615 ]); 1616 } 1617 create(value?: PartialMessage<Notification>): Notification { 1618 const message = { summary: "", contextLink: "" }; 1619 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 1620 if (value !== undefined) 1621 reflectionMergePartial<Notification>(this, message, value); 1622 return message; 1623 } 1624 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Notification): Notification { 1625 let message = target ?? this.create(), end = reader.pos + length; 1626 while (reader.pos < end) { 1627 let [fieldNo, wireType] = reader.tag(); 1628 switch (fieldNo) { 1629 case /* string summary */ 1: 1630 message.summary = reader.string(); 1631 break; 1632 case /* string context_link */ 2: 1633 message.contextLink = reader.string(); 1634 break; 1635 default: 1636 let u = options.readUnknownField; 1637 if (u === "throw") 1638 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 1639 let d = reader.skip(wireType); 1640 if (u !== false) 1641 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 1642 } 1643 } 1644 return message; 1645 } 1646 internalBinaryWrite(message: Notification, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 1647 /* string summary = 1; */ 1648 if (message.summary !== "") 1649 writer.tag(1, WireType.LengthDelimited).string(message.summary); 1650 /* string context_link = 2; */ 1651 if (message.contextLink !== "") 1652 writer.tag(2, WireType.LengthDelimited).string(message.contextLink); 1653 let u = options.writeUnknownFields; 1654 if (u !== false) 1655 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 1656 return writer; 1657 } 1658 } 1659 /** 1660 * @generated MessageType for protobuf message testgrid.config.Notification 1661 */ 1662 export const Notification = new Notification$Type(); 1663 // @generated message type with reflection information, may provide speed optimized methods 1664 class TestGroup$Type extends MessageType<TestGroup> { 1665 constructor() { 1666 super("testgrid.config.TestGroup", [ 1667 { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1668 { no: 2, name: "gcs_prefix", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1669 { no: 3, name: "days_of_results", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 1670 { no: 4, name: "ignore_pending", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1671 { no: 5, name: "ignore_built", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1672 { no: 6, name: "tests_name_policy", kind: "enum", T: () => ["testgrid.config.TestGroup.TestsName", TestGroup_TestsName, "TESTS_NAME_"] }, 1673 { no: 8, name: "ignore_test_substring", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }, 1674 { no: 9, name: "column_header", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => TestGroup_ColumnHeader }, 1675 { no: 10, name: "fallback_grouping", kind: "enum", T: () => ["testgrid.config.TestGroup.FallbackGrouping", TestGroup_FallbackGrouping, "FALLBACK_GROUPING_"] }, 1676 { no: 11, name: "alert_stale_results_hours", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 1677 { no: 12, name: "num_failures_to_alert", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 1678 { no: 13, name: "bug_component", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 1679 { no: 14, name: "code_search_path", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1680 { no: 15, name: "num_columns_recent", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 1681 { no: 16, name: "use_test_metadata", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1682 { no: 17, name: "alert_mail_to_addresses", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1683 { no: 18, name: "alert_mail_subject", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1684 { no: 19, name: "alert_mail_failure_message", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1685 { no: 20, name: "alert_mail_debug_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1686 { no: 21, name: "min_elapsed_minutes_between_mails", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 1687 { no: 23, name: "enable_flaky_status", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1688 { no: 60, name: "disable_merged_status", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1689 { no: 24, name: "use_kubernetes_client", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1690 { no: 62, name: "disable_prowjob_analysis", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1691 { no: 25, name: "is_external", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1692 { no: 26, name: "test_name_config", kind: "message", T: () => TestNameConfig }, 1693 { no: 27, name: "notifications", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Notification }, 1694 { no: 29, name: "primary_grouping", kind: "enum", T: () => ["testgrid.config.TestGroup.PrimaryGrouping", TestGroup_PrimaryGrouping, "PRIMARY_GROUPING_"] }, 1695 { no: 30, name: "enable_test_methods", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1696 { no: 31, name: "test_annotations", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => TestGroup_TestAnnotation }, 1697 { no: 32, name: "max_test_methods_per_test", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 1698 { no: 34, name: "test_metadata_options", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => TestMetadataOptions }, 1699 { no: 35, name: "test_tag_pattern", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1700 { no: 36, name: "auto_bug_options", kind: "message", T: () => AutoBugOptions }, 1701 { no: 37, name: "max_test_runtime_hours", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 1702 { no: 38, name: "num_passes_to_disable_alert", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 1703 { no: 39, name: "link_bugs_by_group", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1704 { no: 41, name: "test_method_properties", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => TestGroup_KeyValue }, 1705 { no: 42, name: "gather_bugs", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1706 { no: 43, name: "short_text_metric", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1707 { no: 44, name: "build_override_configuration_value", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1708 { no: 45, name: "link_bugs_by_test_methods", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1709 { no: 46, name: "test_method_match_regex", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1710 { no: 61, name: "test_method_unmatch_regex", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1711 { no: 47, name: "use_full_method_names", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1712 { no: 49, name: "fallback_grouping_configuration_value", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1713 { no: 50, name: "result_source", kind: "message", T: () => TestGroup_ResultSource }, 1714 { no: 51, name: "custom_evaluator_rule_set", kind: "message", T: () => RuleSet }, 1715 { no: 52, name: "read_state_from_storage", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1716 { no: 53, name: "ignore_old_results", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1717 { no: 54, name: "ignore_skip", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 1718 { no: 55, name: "build_override_strftime", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1719 { no: 56, name: "user_property", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 1720 { no: 63, name: "issue_gather_options", kind: "message", T: () => IssueGatherOptions } 1721 ]); 1722 } 1723 create(value?: PartialMessage<TestGroup>): TestGroup { 1724 const message = { name: "", gcsPrefix: "", daysOfResults: 0, ignorePending: false, ignoreBuilt: false, testsNamePolicy: 0, ignoreTestSubstring: [], columnHeader: [], fallbackGrouping: 0, alertStaleResultsHours: 0, numFailuresToAlert: 0, bugComponent: 0, codeSearchPath: "", numColumnsRecent: 0, useTestMetadata: false, alertMailToAddresses: "", alertMailSubject: "", alertMailFailureMessage: "", alertMailDebugUrl: "", minElapsedMinutesBetweenMails: 0, enableFlakyStatus: false, disableMergedStatus: false, useKubernetesClient: false, disableProwjobAnalysis: false, isExternal: false, notifications: [], primaryGrouping: 0, enableTestMethods: false, testAnnotations: [], maxTestMethodsPerTest: 0, testMetadataOptions: [], testTagPattern: "", maxTestRuntimeHours: 0, numPassesToDisableAlert: 0, linkBugsByGroup: false, testMethodProperties: [], gatherBugs: false, shortTextMetric: "", buildOverrideConfigurationValue: "", linkBugsByTestMethods: false, testMethodMatchRegex: "", testMethodUnmatchRegex: "", useFullMethodNames: false, fallbackGroupingConfigurationValue: "", readStateFromStorage: false, ignoreOldResults: false, ignoreSkip: false, buildOverrideStrftime: "", userProperty: "" }; 1725 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 1726 if (value !== undefined) 1727 reflectionMergePartial<TestGroup>(this, message, value); 1728 return message; 1729 } 1730 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TestGroup): TestGroup { 1731 let message = target ?? this.create(), end = reader.pos + length; 1732 while (reader.pos < end) { 1733 let [fieldNo, wireType] = reader.tag(); 1734 switch (fieldNo) { 1735 case /* string name */ 1: 1736 message.name = reader.string(); 1737 break; 1738 case /* string gcs_prefix */ 2: 1739 message.gcsPrefix = reader.string(); 1740 break; 1741 case /* int32 days_of_results */ 3: 1742 message.daysOfResults = reader.int32(); 1743 break; 1744 case /* bool ignore_pending */ 4: 1745 message.ignorePending = reader.bool(); 1746 break; 1747 case /* bool ignore_built */ 5: 1748 message.ignoreBuilt = reader.bool(); 1749 break; 1750 case /* testgrid.config.TestGroup.TestsName tests_name_policy */ 6: 1751 message.testsNamePolicy = reader.int32(); 1752 break; 1753 case /* repeated string ignore_test_substring */ 8: 1754 message.ignoreTestSubstring.push(reader.string()); 1755 break; 1756 case /* repeated testgrid.config.TestGroup.ColumnHeader column_header */ 9: 1757 message.columnHeader.push(TestGroup_ColumnHeader.internalBinaryRead(reader, reader.uint32(), options)); 1758 break; 1759 case /* testgrid.config.TestGroup.FallbackGrouping fallback_grouping */ 10: 1760 message.fallbackGrouping = reader.int32(); 1761 break; 1762 case /* int32 alert_stale_results_hours = 11 [deprecated = true];*/ 11: 1763 message.alertStaleResultsHours = reader.int32(); 1764 break; 1765 case /* int32 num_failures_to_alert = 12 [deprecated = true];*/ 12: 1766 message.numFailuresToAlert = reader.int32(); 1767 break; 1768 case /* int32 bug_component = 13 [deprecated = true];*/ 13: 1769 message.bugComponent = reader.int32(); 1770 break; 1771 case /* string code_search_path */ 14: 1772 message.codeSearchPath = reader.string(); 1773 break; 1774 case /* int32 num_columns_recent */ 15: 1775 message.numColumnsRecent = reader.int32(); 1776 break; 1777 case /* bool use_test_metadata */ 16: 1778 message.useTestMetadata = reader.bool(); 1779 break; 1780 case /* string alert_mail_to_addresses = 17 [deprecated = true];*/ 17: 1781 message.alertMailToAddresses = reader.string(); 1782 break; 1783 case /* string alert_mail_subject = 18 [deprecated = true];*/ 18: 1784 message.alertMailSubject = reader.string(); 1785 break; 1786 case /* string alert_mail_failure_message = 19 [deprecated = true];*/ 19: 1787 message.alertMailFailureMessage = reader.string(); 1788 break; 1789 case /* string alert_mail_debug_url = 20 [deprecated = true];*/ 20: 1790 message.alertMailDebugUrl = reader.string(); 1791 break; 1792 case /* int32 min_elapsed_minutes_between_mails = 21 [deprecated = true];*/ 21: 1793 message.minElapsedMinutesBetweenMails = reader.int32(); 1794 break; 1795 case /* bool enable_flaky_status */ 23: 1796 message.enableFlakyStatus = reader.bool(); 1797 break; 1798 case /* bool disable_merged_status */ 60: 1799 message.disableMergedStatus = reader.bool(); 1800 break; 1801 case /* bool use_kubernetes_client = 24 [deprecated = true];*/ 24: 1802 message.useKubernetesClient = reader.bool(); 1803 break; 1804 case /* bool disable_prowjob_analysis */ 62: 1805 message.disableProwjobAnalysis = reader.bool(); 1806 break; 1807 case /* bool is_external */ 25: 1808 message.isExternal = reader.bool(); 1809 break; 1810 case /* testgrid.config.TestNameConfig test_name_config */ 26: 1811 message.testNameConfig = TestNameConfig.internalBinaryRead(reader, reader.uint32(), options, message.testNameConfig); 1812 break; 1813 case /* repeated testgrid.config.Notification notifications */ 27: 1814 message.notifications.push(Notification.internalBinaryRead(reader, reader.uint32(), options)); 1815 break; 1816 case /* testgrid.config.TestGroup.PrimaryGrouping primary_grouping */ 29: 1817 message.primaryGrouping = reader.int32(); 1818 break; 1819 case /* bool enable_test_methods */ 30: 1820 message.enableTestMethods = reader.bool(); 1821 break; 1822 case /* repeated testgrid.config.TestGroup.TestAnnotation test_annotations */ 31: 1823 message.testAnnotations.push(TestGroup_TestAnnotation.internalBinaryRead(reader, reader.uint32(), options)); 1824 break; 1825 case /* int32 max_test_methods_per_test */ 32: 1826 message.maxTestMethodsPerTest = reader.int32(); 1827 break; 1828 case /* repeated testgrid.config.TestMetadataOptions test_metadata_options */ 34: 1829 message.testMetadataOptions.push(TestMetadataOptions.internalBinaryRead(reader, reader.uint32(), options)); 1830 break; 1831 case /* string test_tag_pattern */ 35: 1832 message.testTagPattern = reader.string(); 1833 break; 1834 case /* testgrid.config.AutoBugOptions auto_bug_options = 36 [deprecated = true];*/ 36: 1835 message.autoBugOptions = AutoBugOptions.internalBinaryRead(reader, reader.uint32(), options, message.autoBugOptions); 1836 break; 1837 case /* int32 max_test_runtime_hours */ 37: 1838 message.maxTestRuntimeHours = reader.int32(); 1839 break; 1840 case /* int32 num_passes_to_disable_alert */ 38: 1841 message.numPassesToDisableAlert = reader.int32(); 1842 break; 1843 case /* bool link_bugs_by_group */ 39: 1844 message.linkBugsByGroup = reader.bool(); 1845 break; 1846 case /* repeated testgrid.config.TestGroup.KeyValue test_method_properties */ 41: 1847 message.testMethodProperties.push(TestGroup_KeyValue.internalBinaryRead(reader, reader.uint32(), options)); 1848 break; 1849 case /* bool gather_bugs */ 42: 1850 message.gatherBugs = reader.bool(); 1851 break; 1852 case /* string short_text_metric */ 43: 1853 message.shortTextMetric = reader.string(); 1854 break; 1855 case /* string build_override_configuration_value */ 44: 1856 message.buildOverrideConfigurationValue = reader.string(); 1857 break; 1858 case /* bool link_bugs_by_test_methods */ 45: 1859 message.linkBugsByTestMethods = reader.bool(); 1860 break; 1861 case /* string test_method_match_regex */ 46: 1862 message.testMethodMatchRegex = reader.string(); 1863 break; 1864 case /* string test_method_unmatch_regex */ 61: 1865 message.testMethodUnmatchRegex = reader.string(); 1866 break; 1867 case /* bool use_full_method_names */ 47: 1868 message.useFullMethodNames = reader.bool(); 1869 break; 1870 case /* string fallback_grouping_configuration_value */ 49: 1871 message.fallbackGroupingConfigurationValue = reader.string(); 1872 break; 1873 case /* testgrid.config.TestGroup.ResultSource result_source */ 50: 1874 message.resultSource = TestGroup_ResultSource.internalBinaryRead(reader, reader.uint32(), options, message.resultSource); 1875 break; 1876 case /* testgrid.custom_evaluator.RuleSet custom_evaluator_rule_set */ 51: 1877 message.customEvaluatorRuleSet = RuleSet.internalBinaryRead(reader, reader.uint32(), options, message.customEvaluatorRuleSet); 1878 break; 1879 case /* bool read_state_from_storage */ 52: 1880 message.readStateFromStorage = reader.bool(); 1881 break; 1882 case /* bool ignore_old_results */ 53: 1883 message.ignoreOldResults = reader.bool(); 1884 break; 1885 case /* bool ignore_skip */ 54: 1886 message.ignoreSkip = reader.bool(); 1887 break; 1888 case /* string build_override_strftime */ 55: 1889 message.buildOverrideStrftime = reader.string(); 1890 break; 1891 case /* string user_property */ 56: 1892 message.userProperty = reader.string(); 1893 break; 1894 case /* testgrid.config.IssueGatherOptions issue_gather_options */ 63: 1895 message.issueGatherOptions = IssueGatherOptions.internalBinaryRead(reader, reader.uint32(), options, message.issueGatherOptions); 1896 break; 1897 default: 1898 let u = options.readUnknownField; 1899 if (u === "throw") 1900 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 1901 let d = reader.skip(wireType); 1902 if (u !== false) 1903 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 1904 } 1905 } 1906 return message; 1907 } 1908 internalBinaryWrite(message: TestGroup, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 1909 /* string name = 1; */ 1910 if (message.name !== "") 1911 writer.tag(1, WireType.LengthDelimited).string(message.name); 1912 /* string gcs_prefix = 2; */ 1913 if (message.gcsPrefix !== "") 1914 writer.tag(2, WireType.LengthDelimited).string(message.gcsPrefix); 1915 /* int32 days_of_results = 3; */ 1916 if (message.daysOfResults !== 0) 1917 writer.tag(3, WireType.Varint).int32(message.daysOfResults); 1918 /* bool ignore_pending = 4; */ 1919 if (message.ignorePending !== false) 1920 writer.tag(4, WireType.Varint).bool(message.ignorePending); 1921 /* bool ignore_built = 5; */ 1922 if (message.ignoreBuilt !== false) 1923 writer.tag(5, WireType.Varint).bool(message.ignoreBuilt); 1924 /* testgrid.config.TestGroup.TestsName tests_name_policy = 6; */ 1925 if (message.testsNamePolicy !== 0) 1926 writer.tag(6, WireType.Varint).int32(message.testsNamePolicy); 1927 /* repeated string ignore_test_substring = 8; */ 1928 for (let i = 0; i < message.ignoreTestSubstring.length; i++) 1929 writer.tag(8, WireType.LengthDelimited).string(message.ignoreTestSubstring[i]); 1930 /* repeated testgrid.config.TestGroup.ColumnHeader column_header = 9; */ 1931 for (let i = 0; i < message.columnHeader.length; i++) 1932 TestGroup_ColumnHeader.internalBinaryWrite(message.columnHeader[i], writer.tag(9, WireType.LengthDelimited).fork(), options).join(); 1933 /* testgrid.config.TestGroup.FallbackGrouping fallback_grouping = 10; */ 1934 if (message.fallbackGrouping !== 0) 1935 writer.tag(10, WireType.Varint).int32(message.fallbackGrouping); 1936 /* int32 alert_stale_results_hours = 11 [deprecated = true]; */ 1937 if (message.alertStaleResultsHours !== 0) 1938 writer.tag(11, WireType.Varint).int32(message.alertStaleResultsHours); 1939 /* int32 num_failures_to_alert = 12 [deprecated = true]; */ 1940 if (message.numFailuresToAlert !== 0) 1941 writer.tag(12, WireType.Varint).int32(message.numFailuresToAlert); 1942 /* int32 bug_component = 13 [deprecated = true]; */ 1943 if (message.bugComponent !== 0) 1944 writer.tag(13, WireType.Varint).int32(message.bugComponent); 1945 /* string code_search_path = 14; */ 1946 if (message.codeSearchPath !== "") 1947 writer.tag(14, WireType.LengthDelimited).string(message.codeSearchPath); 1948 /* int32 num_columns_recent = 15; */ 1949 if (message.numColumnsRecent !== 0) 1950 writer.tag(15, WireType.Varint).int32(message.numColumnsRecent); 1951 /* bool use_test_metadata = 16; */ 1952 if (message.useTestMetadata !== false) 1953 writer.tag(16, WireType.Varint).bool(message.useTestMetadata); 1954 /* string alert_mail_to_addresses = 17 [deprecated = true]; */ 1955 if (message.alertMailToAddresses !== "") 1956 writer.tag(17, WireType.LengthDelimited).string(message.alertMailToAddresses); 1957 /* string alert_mail_subject = 18 [deprecated = true]; */ 1958 if (message.alertMailSubject !== "") 1959 writer.tag(18, WireType.LengthDelimited).string(message.alertMailSubject); 1960 /* string alert_mail_failure_message = 19 [deprecated = true]; */ 1961 if (message.alertMailFailureMessage !== "") 1962 writer.tag(19, WireType.LengthDelimited).string(message.alertMailFailureMessage); 1963 /* string alert_mail_debug_url = 20 [deprecated = true]; */ 1964 if (message.alertMailDebugUrl !== "") 1965 writer.tag(20, WireType.LengthDelimited).string(message.alertMailDebugUrl); 1966 /* int32 min_elapsed_minutes_between_mails = 21 [deprecated = true]; */ 1967 if (message.minElapsedMinutesBetweenMails !== 0) 1968 writer.tag(21, WireType.Varint).int32(message.minElapsedMinutesBetweenMails); 1969 /* bool enable_flaky_status = 23; */ 1970 if (message.enableFlakyStatus !== false) 1971 writer.tag(23, WireType.Varint).bool(message.enableFlakyStatus); 1972 /* bool disable_merged_status = 60; */ 1973 if (message.disableMergedStatus !== false) 1974 writer.tag(60, WireType.Varint).bool(message.disableMergedStatus); 1975 /* bool use_kubernetes_client = 24 [deprecated = true]; */ 1976 if (message.useKubernetesClient !== false) 1977 writer.tag(24, WireType.Varint).bool(message.useKubernetesClient); 1978 /* bool disable_prowjob_analysis = 62; */ 1979 if (message.disableProwjobAnalysis !== false) 1980 writer.tag(62, WireType.Varint).bool(message.disableProwjobAnalysis); 1981 /* bool is_external = 25; */ 1982 if (message.isExternal !== false) 1983 writer.tag(25, WireType.Varint).bool(message.isExternal); 1984 /* testgrid.config.TestNameConfig test_name_config = 26; */ 1985 if (message.testNameConfig) 1986 TestNameConfig.internalBinaryWrite(message.testNameConfig, writer.tag(26, WireType.LengthDelimited).fork(), options).join(); 1987 /* repeated testgrid.config.Notification notifications = 27; */ 1988 for (let i = 0; i < message.notifications.length; i++) 1989 Notification.internalBinaryWrite(message.notifications[i], writer.tag(27, WireType.LengthDelimited).fork(), options).join(); 1990 /* testgrid.config.TestGroup.PrimaryGrouping primary_grouping = 29; */ 1991 if (message.primaryGrouping !== 0) 1992 writer.tag(29, WireType.Varint).int32(message.primaryGrouping); 1993 /* bool enable_test_methods = 30; */ 1994 if (message.enableTestMethods !== false) 1995 writer.tag(30, WireType.Varint).bool(message.enableTestMethods); 1996 /* repeated testgrid.config.TestGroup.TestAnnotation test_annotations = 31; */ 1997 for (let i = 0; i < message.testAnnotations.length; i++) 1998 TestGroup_TestAnnotation.internalBinaryWrite(message.testAnnotations[i], writer.tag(31, WireType.LengthDelimited).fork(), options).join(); 1999 /* int32 max_test_methods_per_test = 32; */ 2000 if (message.maxTestMethodsPerTest !== 0) 2001 writer.tag(32, WireType.Varint).int32(message.maxTestMethodsPerTest); 2002 /* repeated testgrid.config.TestMetadataOptions test_metadata_options = 34; */ 2003 for (let i = 0; i < message.testMetadataOptions.length; i++) 2004 TestMetadataOptions.internalBinaryWrite(message.testMetadataOptions[i], writer.tag(34, WireType.LengthDelimited).fork(), options).join(); 2005 /* string test_tag_pattern = 35; */ 2006 if (message.testTagPattern !== "") 2007 writer.tag(35, WireType.LengthDelimited).string(message.testTagPattern); 2008 /* testgrid.config.AutoBugOptions auto_bug_options = 36 [deprecated = true]; */ 2009 if (message.autoBugOptions) 2010 AutoBugOptions.internalBinaryWrite(message.autoBugOptions, writer.tag(36, WireType.LengthDelimited).fork(), options).join(); 2011 /* int32 max_test_runtime_hours = 37; */ 2012 if (message.maxTestRuntimeHours !== 0) 2013 writer.tag(37, WireType.Varint).int32(message.maxTestRuntimeHours); 2014 /* int32 num_passes_to_disable_alert = 38; */ 2015 if (message.numPassesToDisableAlert !== 0) 2016 writer.tag(38, WireType.Varint).int32(message.numPassesToDisableAlert); 2017 /* bool link_bugs_by_group = 39; */ 2018 if (message.linkBugsByGroup !== false) 2019 writer.tag(39, WireType.Varint).bool(message.linkBugsByGroup); 2020 /* repeated testgrid.config.TestGroup.KeyValue test_method_properties = 41; */ 2021 for (let i = 0; i < message.testMethodProperties.length; i++) 2022 TestGroup_KeyValue.internalBinaryWrite(message.testMethodProperties[i], writer.tag(41, WireType.LengthDelimited).fork(), options).join(); 2023 /* bool gather_bugs = 42; */ 2024 if (message.gatherBugs !== false) 2025 writer.tag(42, WireType.Varint).bool(message.gatherBugs); 2026 /* string short_text_metric = 43; */ 2027 if (message.shortTextMetric !== "") 2028 writer.tag(43, WireType.LengthDelimited).string(message.shortTextMetric); 2029 /* string build_override_configuration_value = 44; */ 2030 if (message.buildOverrideConfigurationValue !== "") 2031 writer.tag(44, WireType.LengthDelimited).string(message.buildOverrideConfigurationValue); 2032 /* bool link_bugs_by_test_methods = 45; */ 2033 if (message.linkBugsByTestMethods !== false) 2034 writer.tag(45, WireType.Varint).bool(message.linkBugsByTestMethods); 2035 /* string test_method_match_regex = 46; */ 2036 if (message.testMethodMatchRegex !== "") 2037 writer.tag(46, WireType.LengthDelimited).string(message.testMethodMatchRegex); 2038 /* string test_method_unmatch_regex = 61; */ 2039 if (message.testMethodUnmatchRegex !== "") 2040 writer.tag(61, WireType.LengthDelimited).string(message.testMethodUnmatchRegex); 2041 /* bool use_full_method_names = 47; */ 2042 if (message.useFullMethodNames !== false) 2043 writer.tag(47, WireType.Varint).bool(message.useFullMethodNames); 2044 /* string fallback_grouping_configuration_value = 49; */ 2045 if (message.fallbackGroupingConfigurationValue !== "") 2046 writer.tag(49, WireType.LengthDelimited).string(message.fallbackGroupingConfigurationValue); 2047 /* testgrid.config.TestGroup.ResultSource result_source = 50; */ 2048 if (message.resultSource) 2049 TestGroup_ResultSource.internalBinaryWrite(message.resultSource, writer.tag(50, WireType.LengthDelimited).fork(), options).join(); 2050 /* testgrid.custom_evaluator.RuleSet custom_evaluator_rule_set = 51; */ 2051 if (message.customEvaluatorRuleSet) 2052 RuleSet.internalBinaryWrite(message.customEvaluatorRuleSet, writer.tag(51, WireType.LengthDelimited).fork(), options).join(); 2053 /* bool read_state_from_storage = 52; */ 2054 if (message.readStateFromStorage !== false) 2055 writer.tag(52, WireType.Varint).bool(message.readStateFromStorage); 2056 /* bool ignore_old_results = 53; */ 2057 if (message.ignoreOldResults !== false) 2058 writer.tag(53, WireType.Varint).bool(message.ignoreOldResults); 2059 /* bool ignore_skip = 54; */ 2060 if (message.ignoreSkip !== false) 2061 writer.tag(54, WireType.Varint).bool(message.ignoreSkip); 2062 /* string build_override_strftime = 55; */ 2063 if (message.buildOverrideStrftime !== "") 2064 writer.tag(55, WireType.LengthDelimited).string(message.buildOverrideStrftime); 2065 /* string user_property = 56; */ 2066 if (message.userProperty !== "") 2067 writer.tag(56, WireType.LengthDelimited).string(message.userProperty); 2068 /* testgrid.config.IssueGatherOptions issue_gather_options = 63; */ 2069 if (message.issueGatherOptions) 2070 IssueGatherOptions.internalBinaryWrite(message.issueGatherOptions, writer.tag(63, WireType.LengthDelimited).fork(), options).join(); 2071 let u = options.writeUnknownFields; 2072 if (u !== false) 2073 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2074 return writer; 2075 } 2076 } 2077 /** 2078 * @generated MessageType for protobuf message testgrid.config.TestGroup 2079 */ 2080 export const TestGroup = new TestGroup$Type(); 2081 // @generated message type with reflection information, may provide speed optimized methods 2082 class TestGroup_ColumnHeader$Type extends MessageType<TestGroup_ColumnHeader> { 2083 constructor() { 2084 super("testgrid.config.TestGroup.ColumnHeader", [ 2085 { no: 1, name: "label", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2086 { no: 2, name: "property", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2087 { no: 3, name: "configuration_value", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2088 { no: 4, name: "list_all_values", kind: "scalar", T: 8 /*ScalarType.BOOL*/ } 2089 ]); 2090 } 2091 create(value?: PartialMessage<TestGroup_ColumnHeader>): TestGroup_ColumnHeader { 2092 const message = { label: "", property: "", configurationValue: "", listAllValues: false }; 2093 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2094 if (value !== undefined) 2095 reflectionMergePartial<TestGroup_ColumnHeader>(this, message, value); 2096 return message; 2097 } 2098 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TestGroup_ColumnHeader): TestGroup_ColumnHeader { 2099 let message = target ?? this.create(), end = reader.pos + length; 2100 while (reader.pos < end) { 2101 let [fieldNo, wireType] = reader.tag(); 2102 switch (fieldNo) { 2103 case /* string label */ 1: 2104 message.label = reader.string(); 2105 break; 2106 case /* string property */ 2: 2107 message.property = reader.string(); 2108 break; 2109 case /* string configuration_value */ 3: 2110 message.configurationValue = reader.string(); 2111 break; 2112 case /* bool list_all_values */ 4: 2113 message.listAllValues = reader.bool(); 2114 break; 2115 default: 2116 let u = options.readUnknownField; 2117 if (u === "throw") 2118 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2119 let d = reader.skip(wireType); 2120 if (u !== false) 2121 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2122 } 2123 } 2124 return message; 2125 } 2126 internalBinaryWrite(message: TestGroup_ColumnHeader, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2127 /* string label = 1; */ 2128 if (message.label !== "") 2129 writer.tag(1, WireType.LengthDelimited).string(message.label); 2130 /* string property = 2; */ 2131 if (message.property !== "") 2132 writer.tag(2, WireType.LengthDelimited).string(message.property); 2133 /* string configuration_value = 3; */ 2134 if (message.configurationValue !== "") 2135 writer.tag(3, WireType.LengthDelimited).string(message.configurationValue); 2136 /* bool list_all_values = 4; */ 2137 if (message.listAllValues !== false) 2138 writer.tag(4, WireType.Varint).bool(message.listAllValues); 2139 let u = options.writeUnknownFields; 2140 if (u !== false) 2141 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2142 return writer; 2143 } 2144 } 2145 /** 2146 * @generated MessageType for protobuf message testgrid.config.TestGroup.ColumnHeader 2147 */ 2148 export const TestGroup_ColumnHeader = new TestGroup_ColumnHeader$Type(); 2149 // @generated message type with reflection information, may provide speed optimized methods 2150 class TestGroup_TestAnnotation$Type extends MessageType<TestGroup_TestAnnotation> { 2151 constructor() { 2152 super("testgrid.config.TestGroup.TestAnnotation", [ 2153 { no: 1, name: "short_text", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2154 { no: 2, name: "property_name", kind: "scalar", oneof: "shortTextMessageSource", T: 9 /*ScalarType.STRING*/ } 2155 ]); 2156 } 2157 create(value?: PartialMessage<TestGroup_TestAnnotation>): TestGroup_TestAnnotation { 2158 const message = { shortText: "", shortTextMessageSource: { oneofKind: undefined } }; 2159 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2160 if (value !== undefined) 2161 reflectionMergePartial<TestGroup_TestAnnotation>(this, message, value); 2162 return message; 2163 } 2164 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TestGroup_TestAnnotation): TestGroup_TestAnnotation { 2165 let message = target ?? this.create(), end = reader.pos + length; 2166 while (reader.pos < end) { 2167 let [fieldNo, wireType] = reader.tag(); 2168 switch (fieldNo) { 2169 case /* string short_text */ 1: 2170 message.shortText = reader.string(); 2171 break; 2172 case /* string property_name */ 2: 2173 message.shortTextMessageSource = { 2174 oneofKind: "propertyName", 2175 propertyName: reader.string() 2176 }; 2177 break; 2178 default: 2179 let u = options.readUnknownField; 2180 if (u === "throw") 2181 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2182 let d = reader.skip(wireType); 2183 if (u !== false) 2184 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2185 } 2186 } 2187 return message; 2188 } 2189 internalBinaryWrite(message: TestGroup_TestAnnotation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2190 /* string short_text = 1; */ 2191 if (message.shortText !== "") 2192 writer.tag(1, WireType.LengthDelimited).string(message.shortText); 2193 /* string property_name = 2; */ 2194 if (message.shortTextMessageSource.oneofKind === "propertyName") 2195 writer.tag(2, WireType.LengthDelimited).string(message.shortTextMessageSource.propertyName); 2196 let u = options.writeUnknownFields; 2197 if (u !== false) 2198 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2199 return writer; 2200 } 2201 } 2202 /** 2203 * @generated MessageType for protobuf message testgrid.config.TestGroup.TestAnnotation 2204 */ 2205 export const TestGroup_TestAnnotation = new TestGroup_TestAnnotation$Type(); 2206 // @generated message type with reflection information, may provide speed optimized methods 2207 class TestGroup_KeyValue$Type extends MessageType<TestGroup_KeyValue> { 2208 constructor() { 2209 super("testgrid.config.TestGroup.KeyValue", [ 2210 { no: 1, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2211 { no: 2, name: "value", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 2212 ]); 2213 } 2214 create(value?: PartialMessage<TestGroup_KeyValue>): TestGroup_KeyValue { 2215 const message = { key: "", value: "" }; 2216 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2217 if (value !== undefined) 2218 reflectionMergePartial<TestGroup_KeyValue>(this, message, value); 2219 return message; 2220 } 2221 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TestGroup_KeyValue): TestGroup_KeyValue { 2222 let message = target ?? this.create(), end = reader.pos + length; 2223 while (reader.pos < end) { 2224 let [fieldNo, wireType] = reader.tag(); 2225 switch (fieldNo) { 2226 case /* string key */ 1: 2227 message.key = reader.string(); 2228 break; 2229 case /* string value */ 2: 2230 message.value = reader.string(); 2231 break; 2232 default: 2233 let u = options.readUnknownField; 2234 if (u === "throw") 2235 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2236 let d = reader.skip(wireType); 2237 if (u !== false) 2238 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2239 } 2240 } 2241 return message; 2242 } 2243 internalBinaryWrite(message: TestGroup_KeyValue, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2244 /* string key = 1; */ 2245 if (message.key !== "") 2246 writer.tag(1, WireType.LengthDelimited).string(message.key); 2247 /* string value = 2; */ 2248 if (message.value !== "") 2249 writer.tag(2, WireType.LengthDelimited).string(message.value); 2250 let u = options.writeUnknownFields; 2251 if (u !== false) 2252 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2253 return writer; 2254 } 2255 } 2256 /** 2257 * @generated MessageType for protobuf message testgrid.config.TestGroup.KeyValue 2258 */ 2259 export const TestGroup_KeyValue = new TestGroup_KeyValue$Type(); 2260 // @generated message type with reflection information, may provide speed optimized methods 2261 class TestGroup_ResultSource$Type extends MessageType<TestGroup_ResultSource> { 2262 constructor() { 2263 super("testgrid.config.TestGroup.ResultSource", [ 2264 { no: 2, name: "gcs_config", kind: "message", oneof: "resultSourceConfig", T: () => GCSConfig } 2265 ]); 2266 } 2267 create(value?: PartialMessage<TestGroup_ResultSource>): TestGroup_ResultSource { 2268 const message = { resultSourceConfig: { oneofKind: undefined } }; 2269 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2270 if (value !== undefined) 2271 reflectionMergePartial<TestGroup_ResultSource>(this, message, value); 2272 return message; 2273 } 2274 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TestGroup_ResultSource): TestGroup_ResultSource { 2275 let message = target ?? this.create(), end = reader.pos + length; 2276 while (reader.pos < end) { 2277 let [fieldNo, wireType] = reader.tag(); 2278 switch (fieldNo) { 2279 case /* testgrid.config.GCSConfig gcs_config */ 2: 2280 message.resultSourceConfig = { 2281 oneofKind: "gcsConfig", 2282 gcsConfig: GCSConfig.internalBinaryRead(reader, reader.uint32(), options, (message.resultSourceConfig as any).gcsConfig) 2283 }; 2284 break; 2285 default: 2286 let u = options.readUnknownField; 2287 if (u === "throw") 2288 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2289 let d = reader.skip(wireType); 2290 if (u !== false) 2291 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2292 } 2293 } 2294 return message; 2295 } 2296 internalBinaryWrite(message: TestGroup_ResultSource, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2297 /* testgrid.config.GCSConfig gcs_config = 2; */ 2298 if (message.resultSourceConfig.oneofKind === "gcsConfig") 2299 GCSConfig.internalBinaryWrite(message.resultSourceConfig.gcsConfig, writer.tag(2, WireType.LengthDelimited).fork(), options).join(); 2300 let u = options.writeUnknownFields; 2301 if (u !== false) 2302 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2303 return writer; 2304 } 2305 } 2306 /** 2307 * @generated MessageType for protobuf message testgrid.config.TestGroup.ResultSource 2308 */ 2309 export const TestGroup_ResultSource = new TestGroup_ResultSource$Type(); 2310 // @generated message type with reflection information, may provide speed optimized methods 2311 class GCSConfig$Type extends MessageType<GCSConfig> { 2312 constructor() { 2313 super("testgrid.config.GCSConfig", [ 2314 { no: 1, name: "gcs_prefix", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2315 { no: 2, name: "pubsub_project", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2316 { no: 3, name: "pubsub_subscription", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 2317 ]); 2318 } 2319 create(value?: PartialMessage<GCSConfig>): GCSConfig { 2320 const message = { gcsPrefix: "", pubsubProject: "", pubsubSubscription: "" }; 2321 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2322 if (value !== undefined) 2323 reflectionMergePartial<GCSConfig>(this, message, value); 2324 return message; 2325 } 2326 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GCSConfig): GCSConfig { 2327 let message = target ?? this.create(), end = reader.pos + length; 2328 while (reader.pos < end) { 2329 let [fieldNo, wireType] = reader.tag(); 2330 switch (fieldNo) { 2331 case /* string gcs_prefix */ 1: 2332 message.gcsPrefix = reader.string(); 2333 break; 2334 case /* string pubsub_project */ 2: 2335 message.pubsubProject = reader.string(); 2336 break; 2337 case /* string pubsub_subscription */ 3: 2338 message.pubsubSubscription = reader.string(); 2339 break; 2340 default: 2341 let u = options.readUnknownField; 2342 if (u === "throw") 2343 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2344 let d = reader.skip(wireType); 2345 if (u !== false) 2346 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2347 } 2348 } 2349 return message; 2350 } 2351 internalBinaryWrite(message: GCSConfig, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2352 /* string gcs_prefix = 1; */ 2353 if (message.gcsPrefix !== "") 2354 writer.tag(1, WireType.LengthDelimited).string(message.gcsPrefix); 2355 /* string pubsub_project = 2; */ 2356 if (message.pubsubProject !== "") 2357 writer.tag(2, WireType.LengthDelimited).string(message.pubsubProject); 2358 /* string pubsub_subscription = 3; */ 2359 if (message.pubsubSubscription !== "") 2360 writer.tag(3, WireType.LengthDelimited).string(message.pubsubSubscription); 2361 let u = options.writeUnknownFields; 2362 if (u !== false) 2363 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2364 return writer; 2365 } 2366 } 2367 /** 2368 * @generated MessageType for protobuf message testgrid.config.GCSConfig 2369 */ 2370 export const GCSConfig = new GCSConfig$Type(); 2371 // @generated message type with reflection information, may provide speed optimized methods 2372 class IssueGatherOptions$Type extends MessageType<IssueGatherOptions> { 2373 constructor() { 2374 super("testgrid.config.IssueGatherOptions", []); 2375 } 2376 create(value?: PartialMessage<IssueGatherOptions>): IssueGatherOptions { 2377 const message = {}; 2378 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2379 if (value !== undefined) 2380 reflectionMergePartial<IssueGatherOptions>(this, message, value); 2381 return message; 2382 } 2383 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: IssueGatherOptions): IssueGatherOptions { 2384 return target ?? this.create(); 2385 } 2386 internalBinaryWrite(message: IssueGatherOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2387 let u = options.writeUnknownFields; 2388 if (u !== false) 2389 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2390 return writer; 2391 } 2392 } 2393 /** 2394 * @generated MessageType for protobuf message testgrid.config.IssueGatherOptions 2395 */ 2396 export const IssueGatherOptions = new IssueGatherOptions$Type(); 2397 // @generated message type with reflection information, may provide speed optimized methods 2398 class TestMetadataOptions$Type extends MessageType<TestMetadataOptions> { 2399 constructor() { 2400 super("testgrid.config.TestMetadataOptions", [ 2401 { no: 1, name: "test_name_regex", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2402 { no: 2, name: "bug_component", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 2403 { no: 3, name: "owner", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2404 { no: 4, name: "cc", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }, 2405 { no: 5, name: "message_regex", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 2406 ]); 2407 } 2408 create(value?: PartialMessage<TestMetadataOptions>): TestMetadataOptions { 2409 const message = { testNameRegex: "", bugComponent: 0, owner: "", cc: [], messageRegex: "" }; 2410 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2411 if (value !== undefined) 2412 reflectionMergePartial<TestMetadataOptions>(this, message, value); 2413 return message; 2414 } 2415 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TestMetadataOptions): TestMetadataOptions { 2416 let message = target ?? this.create(), end = reader.pos + length; 2417 while (reader.pos < end) { 2418 let [fieldNo, wireType] = reader.tag(); 2419 switch (fieldNo) { 2420 case /* string test_name_regex */ 1: 2421 message.testNameRegex = reader.string(); 2422 break; 2423 case /* int32 bug_component */ 2: 2424 message.bugComponent = reader.int32(); 2425 break; 2426 case /* string owner */ 3: 2427 message.owner = reader.string(); 2428 break; 2429 case /* repeated string cc */ 4: 2430 message.cc.push(reader.string()); 2431 break; 2432 case /* string message_regex */ 5: 2433 message.messageRegex = reader.string(); 2434 break; 2435 default: 2436 let u = options.readUnknownField; 2437 if (u === "throw") 2438 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2439 let d = reader.skip(wireType); 2440 if (u !== false) 2441 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2442 } 2443 } 2444 return message; 2445 } 2446 internalBinaryWrite(message: TestMetadataOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2447 /* string test_name_regex = 1; */ 2448 if (message.testNameRegex !== "") 2449 writer.tag(1, WireType.LengthDelimited).string(message.testNameRegex); 2450 /* int32 bug_component = 2; */ 2451 if (message.bugComponent !== 0) 2452 writer.tag(2, WireType.Varint).int32(message.bugComponent); 2453 /* string owner = 3; */ 2454 if (message.owner !== "") 2455 writer.tag(3, WireType.LengthDelimited).string(message.owner); 2456 /* repeated string cc = 4; */ 2457 for (let i = 0; i < message.cc.length; i++) 2458 writer.tag(4, WireType.LengthDelimited).string(message.cc[i]); 2459 /* string message_regex = 5; */ 2460 if (message.messageRegex !== "") 2461 writer.tag(5, WireType.LengthDelimited).string(message.messageRegex); 2462 let u = options.writeUnknownFields; 2463 if (u !== false) 2464 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2465 return writer; 2466 } 2467 } 2468 /** 2469 * @generated MessageType for protobuf message testgrid.config.TestMetadataOptions 2470 */ 2471 export const TestMetadataOptions = new TestMetadataOptions$Type(); 2472 // @generated message type with reflection information, may provide speed optimized methods 2473 class AutoBugOptions$Type extends MessageType<AutoBugOptions> { 2474 constructor() { 2475 super("testgrid.config.AutoBugOptions", [ 2476 { no: 10, name: "beta_autobug_component", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 2477 { no: 1, name: "auto_close", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2478 { no: 2, name: "hotlist_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/ }, 2479 { no: 3, name: "priority", kind: "enum", T: () => ["testgrid.config.AutoBugOptions.Priority", AutoBugOptions_Priority] }, 2480 { no: 4, name: "hotlist_ids_from_source", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => HotlistIdFromSource }, 2481 { no: 5, name: "file_individual", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2482 { no: 6, name: "singleton_autobug", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2483 { no: 7, name: "max_allowed_individual_bugs", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 2484 { no: 8, name: "file_overall", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2485 { no: 9, name: "default_test_metadata", kind: "message", T: () => AutoBugOptions_DefaultTestMetadata }, 2486 { no: 11, name: "advanced_test_metadata", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2487 { no: 12, name: "file_stale", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2488 { no: 13, name: "ignore_overall", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2489 { no: 14, name: "note", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 2490 ]); 2491 } 2492 create(value?: PartialMessage<AutoBugOptions>): AutoBugOptions { 2493 const message = { betaAutobugComponent: 0, autoClose: false, hotlistIds: [], priority: 0, hotlistIdsFromSource: [], fileIndividual: false, singletonAutobug: false, maxAllowedIndividualBugs: 0, fileOverall: false, advancedTestMetadata: false, fileStale: false, ignoreOverall: false, note: "" }; 2494 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2495 if (value !== undefined) 2496 reflectionMergePartial<AutoBugOptions>(this, message, value); 2497 return message; 2498 } 2499 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AutoBugOptions): AutoBugOptions { 2500 let message = target ?? this.create(), end = reader.pos + length; 2501 while (reader.pos < end) { 2502 let [fieldNo, wireType] = reader.tag(); 2503 switch (fieldNo) { 2504 case /* int32 beta_autobug_component */ 10: 2505 message.betaAutobugComponent = reader.int32(); 2506 break; 2507 case /* bool auto_close */ 1: 2508 message.autoClose = reader.bool(); 2509 break; 2510 case /* repeated int64 hotlist_ids */ 2: 2511 if (wireType === WireType.LengthDelimited) 2512 for (let e = reader.int32() + reader.pos; reader.pos < e;) 2513 message.hotlistIds.push(reader.int64().toString()); 2514 else 2515 message.hotlistIds.push(reader.int64().toString()); 2516 break; 2517 case /* testgrid.config.AutoBugOptions.Priority priority */ 3: 2518 message.priority = reader.int32(); 2519 break; 2520 case /* repeated testgrid.config.HotlistIdFromSource hotlist_ids_from_source = 4 [deprecated = true];*/ 4: 2521 message.hotlistIdsFromSource.push(HotlistIdFromSource.internalBinaryRead(reader, reader.uint32(), options)); 2522 break; 2523 case /* bool file_individual */ 5: 2524 message.fileIndividual = reader.bool(); 2525 break; 2526 case /* bool singleton_autobug */ 6: 2527 message.singletonAutobug = reader.bool(); 2528 break; 2529 case /* int32 max_allowed_individual_bugs */ 7: 2530 message.maxAllowedIndividualBugs = reader.int32(); 2531 break; 2532 case /* bool file_overall */ 8: 2533 message.fileOverall = reader.bool(); 2534 break; 2535 case /* testgrid.config.AutoBugOptions.DefaultTestMetadata default_test_metadata */ 9: 2536 message.defaultTestMetadata = AutoBugOptions_DefaultTestMetadata.internalBinaryRead(reader, reader.uint32(), options, message.defaultTestMetadata); 2537 break; 2538 case /* bool advanced_test_metadata */ 11: 2539 message.advancedTestMetadata = reader.bool(); 2540 break; 2541 case /* bool file_stale */ 12: 2542 message.fileStale = reader.bool(); 2543 break; 2544 case /* bool ignore_overall */ 13: 2545 message.ignoreOverall = reader.bool(); 2546 break; 2547 case /* string note */ 14: 2548 message.note = reader.string(); 2549 break; 2550 default: 2551 let u = options.readUnknownField; 2552 if (u === "throw") 2553 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2554 let d = reader.skip(wireType); 2555 if (u !== false) 2556 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2557 } 2558 } 2559 return message; 2560 } 2561 internalBinaryWrite(message: AutoBugOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2562 /* int32 beta_autobug_component = 10; */ 2563 if (message.betaAutobugComponent !== 0) 2564 writer.tag(10, WireType.Varint).int32(message.betaAutobugComponent); 2565 /* bool auto_close = 1; */ 2566 if (message.autoClose !== false) 2567 writer.tag(1, WireType.Varint).bool(message.autoClose); 2568 /* repeated int64 hotlist_ids = 2; */ 2569 if (message.hotlistIds.length) { 2570 writer.tag(2, WireType.LengthDelimited).fork(); 2571 for (let i = 0; i < message.hotlistIds.length; i++) 2572 writer.int64(message.hotlistIds[i]); 2573 writer.join(); 2574 } 2575 /* testgrid.config.AutoBugOptions.Priority priority = 3; */ 2576 if (message.priority !== 0) 2577 writer.tag(3, WireType.Varint).int32(message.priority); 2578 /* repeated testgrid.config.HotlistIdFromSource hotlist_ids_from_source = 4 [deprecated = true]; */ 2579 for (let i = 0; i < message.hotlistIdsFromSource.length; i++) 2580 HotlistIdFromSource.internalBinaryWrite(message.hotlistIdsFromSource[i], writer.tag(4, WireType.LengthDelimited).fork(), options).join(); 2581 /* bool file_individual = 5; */ 2582 if (message.fileIndividual !== false) 2583 writer.tag(5, WireType.Varint).bool(message.fileIndividual); 2584 /* bool singleton_autobug = 6; */ 2585 if (message.singletonAutobug !== false) 2586 writer.tag(6, WireType.Varint).bool(message.singletonAutobug); 2587 /* int32 max_allowed_individual_bugs = 7; */ 2588 if (message.maxAllowedIndividualBugs !== 0) 2589 writer.tag(7, WireType.Varint).int32(message.maxAllowedIndividualBugs); 2590 /* bool file_overall = 8; */ 2591 if (message.fileOverall !== false) 2592 writer.tag(8, WireType.Varint).bool(message.fileOverall); 2593 /* testgrid.config.AutoBugOptions.DefaultTestMetadata default_test_metadata = 9; */ 2594 if (message.defaultTestMetadata) 2595 AutoBugOptions_DefaultTestMetadata.internalBinaryWrite(message.defaultTestMetadata, writer.tag(9, WireType.LengthDelimited).fork(), options).join(); 2596 /* bool advanced_test_metadata = 11; */ 2597 if (message.advancedTestMetadata !== false) 2598 writer.tag(11, WireType.Varint).bool(message.advancedTestMetadata); 2599 /* bool file_stale = 12; */ 2600 if (message.fileStale !== false) 2601 writer.tag(12, WireType.Varint).bool(message.fileStale); 2602 /* bool ignore_overall = 13; */ 2603 if (message.ignoreOverall !== false) 2604 writer.tag(13, WireType.Varint).bool(message.ignoreOverall); 2605 /* string note = 14; */ 2606 if (message.note !== "") 2607 writer.tag(14, WireType.LengthDelimited).string(message.note); 2608 let u = options.writeUnknownFields; 2609 if (u !== false) 2610 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2611 return writer; 2612 } 2613 } 2614 /** 2615 * @generated MessageType for protobuf message testgrid.config.AutoBugOptions 2616 */ 2617 export const AutoBugOptions = new AutoBugOptions$Type(); 2618 // @generated message type with reflection information, may provide speed optimized methods 2619 class AutoBugOptions_DefaultTestMetadata$Type extends MessageType<AutoBugOptions_DefaultTestMetadata> { 2620 constructor() { 2621 super("testgrid.config.AutoBugOptions.DefaultTestMetadata", [ 2622 { no: 1, name: "bug_component", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 2623 { no: 2, name: "owner", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2624 { no: 3, name: "cc", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ } 2625 ]); 2626 } 2627 create(value?: PartialMessage<AutoBugOptions_DefaultTestMetadata>): AutoBugOptions_DefaultTestMetadata { 2628 const message = { bugComponent: 0, owner: "", cc: [] }; 2629 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2630 if (value !== undefined) 2631 reflectionMergePartial<AutoBugOptions_DefaultTestMetadata>(this, message, value); 2632 return message; 2633 } 2634 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AutoBugOptions_DefaultTestMetadata): AutoBugOptions_DefaultTestMetadata { 2635 let message = target ?? this.create(), end = reader.pos + length; 2636 while (reader.pos < end) { 2637 let [fieldNo, wireType] = reader.tag(); 2638 switch (fieldNo) { 2639 case /* int32 bug_component */ 1: 2640 message.bugComponent = reader.int32(); 2641 break; 2642 case /* string owner */ 2: 2643 message.owner = reader.string(); 2644 break; 2645 case /* repeated string cc */ 3: 2646 message.cc.push(reader.string()); 2647 break; 2648 default: 2649 let u = options.readUnknownField; 2650 if (u === "throw") 2651 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2652 let d = reader.skip(wireType); 2653 if (u !== false) 2654 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2655 } 2656 } 2657 return message; 2658 } 2659 internalBinaryWrite(message: AutoBugOptions_DefaultTestMetadata, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2660 /* int32 bug_component = 1; */ 2661 if (message.bugComponent !== 0) 2662 writer.tag(1, WireType.Varint).int32(message.bugComponent); 2663 /* string owner = 2; */ 2664 if (message.owner !== "") 2665 writer.tag(2, WireType.LengthDelimited).string(message.owner); 2666 /* repeated string cc = 3; */ 2667 for (let i = 0; i < message.cc.length; i++) 2668 writer.tag(3, WireType.LengthDelimited).string(message.cc[i]); 2669 let u = options.writeUnknownFields; 2670 if (u !== false) 2671 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2672 return writer; 2673 } 2674 } 2675 /** 2676 * @generated MessageType for protobuf message testgrid.config.AutoBugOptions.DefaultTestMetadata 2677 */ 2678 export const AutoBugOptions_DefaultTestMetadata = new AutoBugOptions_DefaultTestMetadata$Type(); 2679 // @generated message type with reflection information, may provide speed optimized methods 2680 class HotlistIdFromSource$Type extends MessageType<HotlistIdFromSource> { 2681 constructor() { 2682 super("testgrid.config.HotlistIdFromSource", [ 2683 { no: 1, name: "value", kind: "scalar", oneof: "hotlistIdSource", T: 3 /*ScalarType.INT64*/ }, 2684 { no: 2, name: "label", kind: "scalar", oneof: "hotlistIdSource", T: 9 /*ScalarType.STRING*/ } 2685 ]); 2686 } 2687 create(value?: PartialMessage<HotlistIdFromSource>): HotlistIdFromSource { 2688 const message = { hotlistIdSource: { oneofKind: undefined } }; 2689 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2690 if (value !== undefined) 2691 reflectionMergePartial<HotlistIdFromSource>(this, message, value); 2692 return message; 2693 } 2694 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HotlistIdFromSource): HotlistIdFromSource { 2695 let message = target ?? this.create(), end = reader.pos + length; 2696 while (reader.pos < end) { 2697 let [fieldNo, wireType] = reader.tag(); 2698 switch (fieldNo) { 2699 case /* int64 value */ 1: 2700 message.hotlistIdSource = { 2701 oneofKind: "value", 2702 value: reader.int64().toString() 2703 }; 2704 break; 2705 case /* string label */ 2: 2706 message.hotlistIdSource = { 2707 oneofKind: "label", 2708 label: reader.string() 2709 }; 2710 break; 2711 default: 2712 let u = options.readUnknownField; 2713 if (u === "throw") 2714 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2715 let d = reader.skip(wireType); 2716 if (u !== false) 2717 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2718 } 2719 } 2720 return message; 2721 } 2722 internalBinaryWrite(message: HotlistIdFromSource, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2723 /* int64 value = 1; */ 2724 if (message.hotlistIdSource.oneofKind === "value") 2725 writer.tag(1, WireType.Varint).int64(message.hotlistIdSource.value); 2726 /* string label = 2; */ 2727 if (message.hotlistIdSource.oneofKind === "label") 2728 writer.tag(2, WireType.LengthDelimited).string(message.hotlistIdSource.label); 2729 let u = options.writeUnknownFields; 2730 if (u !== false) 2731 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2732 return writer; 2733 } 2734 } 2735 /** 2736 * @generated MessageType for protobuf message testgrid.config.HotlistIdFromSource 2737 */ 2738 export const HotlistIdFromSource = new HotlistIdFromSource$Type(); 2739 // @generated message type with reflection information, may provide speed optimized methods 2740 class Dashboard$Type extends MessageType<Dashboard> { 2741 constructor() { 2742 super("testgrid.config.Dashboard", [ 2743 { no: 1, name: "dashboard_tab", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => DashboardTab }, 2744 { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2745 { no: 3, name: "notifications", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Notification }, 2746 { no: 5, name: "default_tab", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2747 { no: 8, name: "downplay_failing_tabs", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2748 { no: 6, name: "highlight_failing_tabs", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2749 { no: 7, name: "highlight_today", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2750 { no: 9, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 2751 ]); 2752 } 2753 create(value?: PartialMessage<Dashboard>): Dashboard { 2754 const message = { dashboardTab: [], name: "", notifications: [], defaultTab: "", downplayFailingTabs: false, highlightFailingTabs: false, highlightToday: false, description: "" }; 2755 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2756 if (value !== undefined) 2757 reflectionMergePartial<Dashboard>(this, message, value); 2758 return message; 2759 } 2760 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Dashboard): Dashboard { 2761 let message = target ?? this.create(), end = reader.pos + length; 2762 while (reader.pos < end) { 2763 let [fieldNo, wireType] = reader.tag(); 2764 switch (fieldNo) { 2765 case /* repeated testgrid.config.DashboardTab dashboard_tab */ 1: 2766 message.dashboardTab.push(DashboardTab.internalBinaryRead(reader, reader.uint32(), options)); 2767 break; 2768 case /* string name */ 2: 2769 message.name = reader.string(); 2770 break; 2771 case /* repeated testgrid.config.Notification notifications */ 3: 2772 message.notifications.push(Notification.internalBinaryRead(reader, reader.uint32(), options)); 2773 break; 2774 case /* string default_tab */ 5: 2775 message.defaultTab = reader.string(); 2776 break; 2777 case /* bool downplay_failing_tabs */ 8: 2778 message.downplayFailingTabs = reader.bool(); 2779 break; 2780 case /* bool highlight_failing_tabs = 6 [deprecated = true];*/ 6: 2781 message.highlightFailingTabs = reader.bool(); 2782 break; 2783 case /* bool highlight_today */ 7: 2784 message.highlightToday = reader.bool(); 2785 break; 2786 case /* string description */ 9: 2787 message.description = reader.string(); 2788 break; 2789 default: 2790 let u = options.readUnknownField; 2791 if (u === "throw") 2792 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2793 let d = reader.skip(wireType); 2794 if (u !== false) 2795 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2796 } 2797 } 2798 return message; 2799 } 2800 internalBinaryWrite(message: Dashboard, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2801 /* repeated testgrid.config.DashboardTab dashboard_tab = 1; */ 2802 for (let i = 0; i < message.dashboardTab.length; i++) 2803 DashboardTab.internalBinaryWrite(message.dashboardTab[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join(); 2804 /* string name = 2; */ 2805 if (message.name !== "") 2806 writer.tag(2, WireType.LengthDelimited).string(message.name); 2807 /* repeated testgrid.config.Notification notifications = 3; */ 2808 for (let i = 0; i < message.notifications.length; i++) 2809 Notification.internalBinaryWrite(message.notifications[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join(); 2810 /* string default_tab = 5; */ 2811 if (message.defaultTab !== "") 2812 writer.tag(5, WireType.LengthDelimited).string(message.defaultTab); 2813 /* bool downplay_failing_tabs = 8; */ 2814 if (message.downplayFailingTabs !== false) 2815 writer.tag(8, WireType.Varint).bool(message.downplayFailingTabs); 2816 /* bool highlight_failing_tabs = 6 [deprecated = true]; */ 2817 if (message.highlightFailingTabs !== false) 2818 writer.tag(6, WireType.Varint).bool(message.highlightFailingTabs); 2819 /* bool highlight_today = 7; */ 2820 if (message.highlightToday !== false) 2821 writer.tag(7, WireType.Varint).bool(message.highlightToday); 2822 /* string description = 9; */ 2823 if (message.description !== "") 2824 writer.tag(9, WireType.LengthDelimited).string(message.description); 2825 let u = options.writeUnknownFields; 2826 if (u !== false) 2827 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2828 return writer; 2829 } 2830 } 2831 /** 2832 * @generated MessageType for protobuf message testgrid.config.Dashboard 2833 */ 2834 export const Dashboard = new Dashboard$Type(); 2835 // @generated message type with reflection information, may provide speed optimized methods 2836 class LinkTemplate$Type extends MessageType<LinkTemplate> { 2837 constructor() { 2838 super("testgrid.config.LinkTemplate", [ 2839 { no: 1, name: "url", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2840 { no: 2, name: "options", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => LinkOptionsTemplate }, 2841 { no: 3, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 2842 ]); 2843 } 2844 create(value?: PartialMessage<LinkTemplate>): LinkTemplate { 2845 const message = { url: "", options: [], name: "" }; 2846 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2847 if (value !== undefined) 2848 reflectionMergePartial<LinkTemplate>(this, message, value); 2849 return message; 2850 } 2851 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LinkTemplate): LinkTemplate { 2852 let message = target ?? this.create(), end = reader.pos + length; 2853 while (reader.pos < end) { 2854 let [fieldNo, wireType] = reader.tag(); 2855 switch (fieldNo) { 2856 case /* string url */ 1: 2857 message.url = reader.string(); 2858 break; 2859 case /* repeated testgrid.config.LinkOptionsTemplate options */ 2: 2860 message.options.push(LinkOptionsTemplate.internalBinaryRead(reader, reader.uint32(), options)); 2861 break; 2862 case /* string name */ 3: 2863 message.name = reader.string(); 2864 break; 2865 default: 2866 let u = options.readUnknownField; 2867 if (u === "throw") 2868 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2869 let d = reader.skip(wireType); 2870 if (u !== false) 2871 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2872 } 2873 } 2874 return message; 2875 } 2876 internalBinaryWrite(message: LinkTemplate, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2877 /* string url = 1; */ 2878 if (message.url !== "") 2879 writer.tag(1, WireType.LengthDelimited).string(message.url); 2880 /* repeated testgrid.config.LinkOptionsTemplate options = 2; */ 2881 for (let i = 0; i < message.options.length; i++) 2882 LinkOptionsTemplate.internalBinaryWrite(message.options[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join(); 2883 /* string name = 3; */ 2884 if (message.name !== "") 2885 writer.tag(3, WireType.LengthDelimited).string(message.name); 2886 let u = options.writeUnknownFields; 2887 if (u !== false) 2888 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2889 return writer; 2890 } 2891 } 2892 /** 2893 * @generated MessageType for protobuf message testgrid.config.LinkTemplate 2894 */ 2895 export const LinkTemplate = new LinkTemplate$Type(); 2896 // @generated message type with reflection information, may provide speed optimized methods 2897 class LinkOptionsTemplate$Type extends MessageType<LinkOptionsTemplate> { 2898 constructor() { 2899 super("testgrid.config.LinkOptionsTemplate", [ 2900 { no: 1, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2901 { no: 2, name: "value", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 2902 ]); 2903 } 2904 create(value?: PartialMessage<LinkOptionsTemplate>): LinkOptionsTemplate { 2905 const message = { key: "", value: "" }; 2906 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2907 if (value !== undefined) 2908 reflectionMergePartial<LinkOptionsTemplate>(this, message, value); 2909 return message; 2910 } 2911 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LinkOptionsTemplate): LinkOptionsTemplate { 2912 let message = target ?? this.create(), end = reader.pos + length; 2913 while (reader.pos < end) { 2914 let [fieldNo, wireType] = reader.tag(); 2915 switch (fieldNo) { 2916 case /* string key */ 1: 2917 message.key = reader.string(); 2918 break; 2919 case /* string value */ 2: 2920 message.value = reader.string(); 2921 break; 2922 default: 2923 let u = options.readUnknownField; 2924 if (u === "throw") 2925 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 2926 let d = reader.skip(wireType); 2927 if (u !== false) 2928 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 2929 } 2930 } 2931 return message; 2932 } 2933 internalBinaryWrite(message: LinkOptionsTemplate, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 2934 /* string key = 1; */ 2935 if (message.key !== "") 2936 writer.tag(1, WireType.LengthDelimited).string(message.key); 2937 /* string value = 2; */ 2938 if (message.value !== "") 2939 writer.tag(2, WireType.LengthDelimited).string(message.value); 2940 let u = options.writeUnknownFields; 2941 if (u !== false) 2942 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 2943 return writer; 2944 } 2945 } 2946 /** 2947 * @generated MessageType for protobuf message testgrid.config.LinkOptionsTemplate 2948 */ 2949 export const LinkOptionsTemplate = new LinkOptionsTemplate$Type(); 2950 // @generated message type with reflection information, may provide speed optimized methods 2951 class DashboardTab$Type extends MessageType<DashboardTab> { 2952 constructor() { 2953 super("testgrid.config.DashboardTab", [ 2954 { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2955 { no: 2, name: "test_group_name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2956 { no: 3, name: "bug_component", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 2957 { no: 4, name: "code_search_path", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2958 { no: 5, name: "num_columns_recent", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 2959 { no: 6, name: "base_options", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2960 { no: 7, name: "open_test_template", kind: "message", T: () => LinkTemplate }, 2961 { no: 8, name: "file_bug_template", kind: "message", T: () => LinkTemplate }, 2962 { no: 9, name: "attach_bug_template", kind: "message", T: () => LinkTemplate }, 2963 { no: 10, name: "results_text", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2964 { no: 11, name: "results_url_template", kind: "message", T: () => LinkTemplate }, 2965 { no: 12, name: "code_search_url_template", kind: "message", T: () => LinkTemplate }, 2966 { no: 13, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2967 { no: 14, name: "tabular_names_regex", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2968 { no: 15, name: "alert_options", kind: "message", T: () => DashboardTabAlertOptions }, 2969 { no: 24, name: "flakiness_alert_options", kind: "message", T: () => DashboardTabFlakinessAlertOptions }, 2970 { no: 26, name: "status_customization_options", kind: "message", T: () => DashboardTabStatusCustomizationOptions }, 2971 { no: 16, name: "about_dashboard_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 2972 { no: 17, name: "open_bug_template", kind: "message", T: () => LinkTemplate }, 2973 { no: 18, name: "auto_file_bugs", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2974 { no: 19, name: "display_local_time", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 2975 { no: 20, name: "context_menu_template", kind: "message", T: () => LinkTemplate }, 2976 { no: 21, name: "broken_column_threshold", kind: "scalar", T: 2 /*ScalarType.FLOAT*/ }, 2977 { no: 22, name: "beta_autobug_options", kind: "message", T: () => AutoBugOptions }, 2978 { no: 23, name: "health_analysis_options", kind: "message", T: () => HealthAnalysisOptions }, 2979 { no: 25, name: "column_diff_link_templates", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => LinkTemplate } 2980 ]); 2981 } 2982 create(value?: PartialMessage<DashboardTab>): DashboardTab { 2983 const message = { name: "", testGroupName: "", bugComponent: 0, codeSearchPath: "", numColumnsRecent: 0, baseOptions: "", resultsText: "", description: "", tabularNamesRegex: "", aboutDashboardUrl: "", autoFileBugs: false, displayLocalTime: false, brokenColumnThreshold: 0, columnDiffLinkTemplates: [] }; 2984 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 2985 if (value !== undefined) 2986 reflectionMergePartial<DashboardTab>(this, message, value); 2987 return message; 2988 } 2989 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DashboardTab): DashboardTab { 2990 let message = target ?? this.create(), end = reader.pos + length; 2991 while (reader.pos < end) { 2992 let [fieldNo, wireType] = reader.tag(); 2993 switch (fieldNo) { 2994 case /* string name */ 1: 2995 message.name = reader.string(); 2996 break; 2997 case /* string test_group_name */ 2: 2998 message.testGroupName = reader.string(); 2999 break; 3000 case /* int32 bug_component */ 3: 3001 message.bugComponent = reader.int32(); 3002 break; 3003 case /* string code_search_path */ 4: 3004 message.codeSearchPath = reader.string(); 3005 break; 3006 case /* int32 num_columns_recent */ 5: 3007 message.numColumnsRecent = reader.int32(); 3008 break; 3009 case /* string base_options */ 6: 3010 message.baseOptions = reader.string(); 3011 break; 3012 case /* testgrid.config.LinkTemplate open_test_template */ 7: 3013 message.openTestTemplate = LinkTemplate.internalBinaryRead(reader, reader.uint32(), options, message.openTestTemplate); 3014 break; 3015 case /* testgrid.config.LinkTemplate file_bug_template */ 8: 3016 message.fileBugTemplate = LinkTemplate.internalBinaryRead(reader, reader.uint32(), options, message.fileBugTemplate); 3017 break; 3018 case /* testgrid.config.LinkTemplate attach_bug_template */ 9: 3019 message.attachBugTemplate = LinkTemplate.internalBinaryRead(reader, reader.uint32(), options, message.attachBugTemplate); 3020 break; 3021 case /* string results_text */ 10: 3022 message.resultsText = reader.string(); 3023 break; 3024 case /* testgrid.config.LinkTemplate results_url_template */ 11: 3025 message.resultsUrlTemplate = LinkTemplate.internalBinaryRead(reader, reader.uint32(), options, message.resultsUrlTemplate); 3026 break; 3027 case /* testgrid.config.LinkTemplate code_search_url_template */ 12: 3028 message.codeSearchUrlTemplate = LinkTemplate.internalBinaryRead(reader, reader.uint32(), options, message.codeSearchUrlTemplate); 3029 break; 3030 case /* string description */ 13: 3031 message.description = reader.string(); 3032 break; 3033 case /* string tabular_names_regex */ 14: 3034 message.tabularNamesRegex = reader.string(); 3035 break; 3036 case /* testgrid.config.DashboardTabAlertOptions alert_options */ 15: 3037 message.alertOptions = DashboardTabAlertOptions.internalBinaryRead(reader, reader.uint32(), options, message.alertOptions); 3038 break; 3039 case /* testgrid.config.DashboardTabFlakinessAlertOptions flakiness_alert_options */ 24: 3040 message.flakinessAlertOptions = DashboardTabFlakinessAlertOptions.internalBinaryRead(reader, reader.uint32(), options, message.flakinessAlertOptions); 3041 break; 3042 case /* testgrid.config.DashboardTabStatusCustomizationOptions status_customization_options */ 26: 3043 message.statusCustomizationOptions = DashboardTabStatusCustomizationOptions.internalBinaryRead(reader, reader.uint32(), options, message.statusCustomizationOptions); 3044 break; 3045 case /* string about_dashboard_url */ 16: 3046 message.aboutDashboardUrl = reader.string(); 3047 break; 3048 case /* testgrid.config.LinkTemplate open_bug_template */ 17: 3049 message.openBugTemplate = LinkTemplate.internalBinaryRead(reader, reader.uint32(), options, message.openBugTemplate); 3050 break; 3051 case /* bool auto_file_bugs */ 18: 3052 message.autoFileBugs = reader.bool(); 3053 break; 3054 case /* bool display_local_time */ 19: 3055 message.displayLocalTime = reader.bool(); 3056 break; 3057 case /* testgrid.config.LinkTemplate context_menu_template */ 20: 3058 message.contextMenuTemplate = LinkTemplate.internalBinaryRead(reader, reader.uint32(), options, message.contextMenuTemplate); 3059 break; 3060 case /* float broken_column_threshold */ 21: 3061 message.brokenColumnThreshold = reader.float(); 3062 break; 3063 case /* testgrid.config.AutoBugOptions beta_autobug_options */ 22: 3064 message.betaAutobugOptions = AutoBugOptions.internalBinaryRead(reader, reader.uint32(), options, message.betaAutobugOptions); 3065 break; 3066 case /* testgrid.config.HealthAnalysisOptions health_analysis_options */ 23: 3067 message.healthAnalysisOptions = HealthAnalysisOptions.internalBinaryRead(reader, reader.uint32(), options, message.healthAnalysisOptions); 3068 break; 3069 case /* repeated testgrid.config.LinkTemplate column_diff_link_templates */ 25: 3070 message.columnDiffLinkTemplates.push(LinkTemplate.internalBinaryRead(reader, reader.uint32(), options)); 3071 break; 3072 default: 3073 let u = options.readUnknownField; 3074 if (u === "throw") 3075 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 3076 let d = reader.skip(wireType); 3077 if (u !== false) 3078 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 3079 } 3080 } 3081 return message; 3082 } 3083 internalBinaryWrite(message: DashboardTab, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 3084 /* string name = 1; */ 3085 if (message.name !== "") 3086 writer.tag(1, WireType.LengthDelimited).string(message.name); 3087 /* string test_group_name = 2; */ 3088 if (message.testGroupName !== "") 3089 writer.tag(2, WireType.LengthDelimited).string(message.testGroupName); 3090 /* int32 bug_component = 3; */ 3091 if (message.bugComponent !== 0) 3092 writer.tag(3, WireType.Varint).int32(message.bugComponent); 3093 /* string code_search_path = 4; */ 3094 if (message.codeSearchPath !== "") 3095 writer.tag(4, WireType.LengthDelimited).string(message.codeSearchPath); 3096 /* int32 num_columns_recent = 5; */ 3097 if (message.numColumnsRecent !== 0) 3098 writer.tag(5, WireType.Varint).int32(message.numColumnsRecent); 3099 /* string base_options = 6; */ 3100 if (message.baseOptions !== "") 3101 writer.tag(6, WireType.LengthDelimited).string(message.baseOptions); 3102 /* testgrid.config.LinkTemplate open_test_template = 7; */ 3103 if (message.openTestTemplate) 3104 LinkTemplate.internalBinaryWrite(message.openTestTemplate, writer.tag(7, WireType.LengthDelimited).fork(), options).join(); 3105 /* testgrid.config.LinkTemplate file_bug_template = 8; */ 3106 if (message.fileBugTemplate) 3107 LinkTemplate.internalBinaryWrite(message.fileBugTemplate, writer.tag(8, WireType.LengthDelimited).fork(), options).join(); 3108 /* testgrid.config.LinkTemplate attach_bug_template = 9; */ 3109 if (message.attachBugTemplate) 3110 LinkTemplate.internalBinaryWrite(message.attachBugTemplate, writer.tag(9, WireType.LengthDelimited).fork(), options).join(); 3111 /* string results_text = 10; */ 3112 if (message.resultsText !== "") 3113 writer.tag(10, WireType.LengthDelimited).string(message.resultsText); 3114 /* testgrid.config.LinkTemplate results_url_template = 11; */ 3115 if (message.resultsUrlTemplate) 3116 LinkTemplate.internalBinaryWrite(message.resultsUrlTemplate, writer.tag(11, WireType.LengthDelimited).fork(), options).join(); 3117 /* testgrid.config.LinkTemplate code_search_url_template = 12; */ 3118 if (message.codeSearchUrlTemplate) 3119 LinkTemplate.internalBinaryWrite(message.codeSearchUrlTemplate, writer.tag(12, WireType.LengthDelimited).fork(), options).join(); 3120 /* string description = 13; */ 3121 if (message.description !== "") 3122 writer.tag(13, WireType.LengthDelimited).string(message.description); 3123 /* string tabular_names_regex = 14; */ 3124 if (message.tabularNamesRegex !== "") 3125 writer.tag(14, WireType.LengthDelimited).string(message.tabularNamesRegex); 3126 /* testgrid.config.DashboardTabAlertOptions alert_options = 15; */ 3127 if (message.alertOptions) 3128 DashboardTabAlertOptions.internalBinaryWrite(message.alertOptions, writer.tag(15, WireType.LengthDelimited).fork(), options).join(); 3129 /* testgrid.config.DashboardTabFlakinessAlertOptions flakiness_alert_options = 24; */ 3130 if (message.flakinessAlertOptions) 3131 DashboardTabFlakinessAlertOptions.internalBinaryWrite(message.flakinessAlertOptions, writer.tag(24, WireType.LengthDelimited).fork(), options).join(); 3132 /* testgrid.config.DashboardTabStatusCustomizationOptions status_customization_options = 26; */ 3133 if (message.statusCustomizationOptions) 3134 DashboardTabStatusCustomizationOptions.internalBinaryWrite(message.statusCustomizationOptions, writer.tag(26, WireType.LengthDelimited).fork(), options).join(); 3135 /* string about_dashboard_url = 16; */ 3136 if (message.aboutDashboardUrl !== "") 3137 writer.tag(16, WireType.LengthDelimited).string(message.aboutDashboardUrl); 3138 /* testgrid.config.LinkTemplate open_bug_template = 17; */ 3139 if (message.openBugTemplate) 3140 LinkTemplate.internalBinaryWrite(message.openBugTemplate, writer.tag(17, WireType.LengthDelimited).fork(), options).join(); 3141 /* bool auto_file_bugs = 18; */ 3142 if (message.autoFileBugs !== false) 3143 writer.tag(18, WireType.Varint).bool(message.autoFileBugs); 3144 /* bool display_local_time = 19; */ 3145 if (message.displayLocalTime !== false) 3146 writer.tag(19, WireType.Varint).bool(message.displayLocalTime); 3147 /* testgrid.config.LinkTemplate context_menu_template = 20; */ 3148 if (message.contextMenuTemplate) 3149 LinkTemplate.internalBinaryWrite(message.contextMenuTemplate, writer.tag(20, WireType.LengthDelimited).fork(), options).join(); 3150 /* float broken_column_threshold = 21; */ 3151 if (message.brokenColumnThreshold !== 0) 3152 writer.tag(21, WireType.Bit32).float(message.brokenColumnThreshold); 3153 /* testgrid.config.AutoBugOptions beta_autobug_options = 22; */ 3154 if (message.betaAutobugOptions) 3155 AutoBugOptions.internalBinaryWrite(message.betaAutobugOptions, writer.tag(22, WireType.LengthDelimited).fork(), options).join(); 3156 /* testgrid.config.HealthAnalysisOptions health_analysis_options = 23; */ 3157 if (message.healthAnalysisOptions) 3158 HealthAnalysisOptions.internalBinaryWrite(message.healthAnalysisOptions, writer.tag(23, WireType.LengthDelimited).fork(), options).join(); 3159 /* repeated testgrid.config.LinkTemplate column_diff_link_templates = 25; */ 3160 for (let i = 0; i < message.columnDiffLinkTemplates.length; i++) 3161 LinkTemplate.internalBinaryWrite(message.columnDiffLinkTemplates[i], writer.tag(25, WireType.LengthDelimited).fork(), options).join(); 3162 let u = options.writeUnknownFields; 3163 if (u !== false) 3164 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 3165 return writer; 3166 } 3167 } 3168 /** 3169 * @generated MessageType for protobuf message testgrid.config.DashboardTab 3170 */ 3171 export const DashboardTab = new DashboardTab$Type(); 3172 // @generated message type with reflection information, may provide speed optimized methods 3173 class DashboardTabAlertOptions$Type extends MessageType<DashboardTabAlertOptions> { 3174 constructor() { 3175 super("testgrid.config.DashboardTabAlertOptions", [ 3176 { no: 1, name: "alert_stale_results_hours", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 3177 { no: 2, name: "num_failures_to_alert", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 3178 { no: 3, name: "alert_mail_to_addresses", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 3179 { no: 4, name: "num_passes_to_disable_alert", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 3180 { no: 5, name: "subject", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 3181 { no: 6, name: "debug_url", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 3182 { no: 7, name: "debug_message", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 3183 { no: 8, name: "wait_minutes_between_emails", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 3184 { no: 9, name: "alert_mail_failure_message", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 3185 ]); 3186 } 3187 create(value?: PartialMessage<DashboardTabAlertOptions>): DashboardTabAlertOptions { 3188 const message = { alertStaleResultsHours: 0, numFailuresToAlert: 0, alertMailToAddresses: "", numPassesToDisableAlert: 0, subject: "", debugUrl: "", debugMessage: "", waitMinutesBetweenEmails: 0, alertMailFailureMessage: "" }; 3189 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 3190 if (value !== undefined) 3191 reflectionMergePartial<DashboardTabAlertOptions>(this, message, value); 3192 return message; 3193 } 3194 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DashboardTabAlertOptions): DashboardTabAlertOptions { 3195 let message = target ?? this.create(), end = reader.pos + length; 3196 while (reader.pos < end) { 3197 let [fieldNo, wireType] = reader.tag(); 3198 switch (fieldNo) { 3199 case /* int32 alert_stale_results_hours */ 1: 3200 message.alertStaleResultsHours = reader.int32(); 3201 break; 3202 case /* int32 num_failures_to_alert */ 2: 3203 message.numFailuresToAlert = reader.int32(); 3204 break; 3205 case /* string alert_mail_to_addresses */ 3: 3206 message.alertMailToAddresses = reader.string(); 3207 break; 3208 case /* int32 num_passes_to_disable_alert */ 4: 3209 message.numPassesToDisableAlert = reader.int32(); 3210 break; 3211 case /* string subject */ 5: 3212 message.subject = reader.string(); 3213 break; 3214 case /* string debug_url */ 6: 3215 message.debugUrl = reader.string(); 3216 break; 3217 case /* string debug_message */ 7: 3218 message.debugMessage = reader.string(); 3219 break; 3220 case /* int32 wait_minutes_between_emails */ 8: 3221 message.waitMinutesBetweenEmails = reader.int32(); 3222 break; 3223 case /* string alert_mail_failure_message */ 9: 3224 message.alertMailFailureMessage = reader.string(); 3225 break; 3226 default: 3227 let u = options.readUnknownField; 3228 if (u === "throw") 3229 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 3230 let d = reader.skip(wireType); 3231 if (u !== false) 3232 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 3233 } 3234 } 3235 return message; 3236 } 3237 internalBinaryWrite(message: DashboardTabAlertOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 3238 /* int32 alert_stale_results_hours = 1; */ 3239 if (message.alertStaleResultsHours !== 0) 3240 writer.tag(1, WireType.Varint).int32(message.alertStaleResultsHours); 3241 /* int32 num_failures_to_alert = 2; */ 3242 if (message.numFailuresToAlert !== 0) 3243 writer.tag(2, WireType.Varint).int32(message.numFailuresToAlert); 3244 /* string alert_mail_to_addresses = 3; */ 3245 if (message.alertMailToAddresses !== "") 3246 writer.tag(3, WireType.LengthDelimited).string(message.alertMailToAddresses); 3247 /* int32 num_passes_to_disable_alert = 4; */ 3248 if (message.numPassesToDisableAlert !== 0) 3249 writer.tag(4, WireType.Varint).int32(message.numPassesToDisableAlert); 3250 /* string subject = 5; */ 3251 if (message.subject !== "") 3252 writer.tag(5, WireType.LengthDelimited).string(message.subject); 3253 /* string debug_url = 6; */ 3254 if (message.debugUrl !== "") 3255 writer.tag(6, WireType.LengthDelimited).string(message.debugUrl); 3256 /* string debug_message = 7; */ 3257 if (message.debugMessage !== "") 3258 writer.tag(7, WireType.LengthDelimited).string(message.debugMessage); 3259 /* int32 wait_minutes_between_emails = 8; */ 3260 if (message.waitMinutesBetweenEmails !== 0) 3261 writer.tag(8, WireType.Varint).int32(message.waitMinutesBetweenEmails); 3262 /* string alert_mail_failure_message = 9; */ 3263 if (message.alertMailFailureMessage !== "") 3264 writer.tag(9, WireType.LengthDelimited).string(message.alertMailFailureMessage); 3265 let u = options.writeUnknownFields; 3266 if (u !== false) 3267 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 3268 return writer; 3269 } 3270 } 3271 /** 3272 * @generated MessageType for protobuf message testgrid.config.DashboardTabAlertOptions 3273 */ 3274 export const DashboardTabAlertOptions = new DashboardTabAlertOptions$Type(); 3275 // @generated message type with reflection information, may provide speed optimized methods 3276 class DashboardTabFlakinessAlertOptions$Type extends MessageType<DashboardTabFlakinessAlertOptions> { 3277 constructor() { 3278 super("testgrid.config.DashboardTabFlakinessAlertOptions", [ 3279 { no: 1, name: "minimum_flakiness_to_alert", kind: "scalar", T: 2 /*ScalarType.FLOAT*/ }, 3280 { no: 2, name: "alert_mail_to_addresses", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 3281 { no: 3, name: "subject", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 3282 { no: 4, name: "wait_minutes_between_emails", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 3283 { no: 5, name: "alert_mail_failure_message", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 3284 ]); 3285 } 3286 create(value?: PartialMessage<DashboardTabFlakinessAlertOptions>): DashboardTabFlakinessAlertOptions { 3287 const message = { minimumFlakinessToAlert: 0, alertMailToAddresses: "", subject: "", waitMinutesBetweenEmails: 0, alertMailFailureMessage: "" }; 3288 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 3289 if (value !== undefined) 3290 reflectionMergePartial<DashboardTabFlakinessAlertOptions>(this, message, value); 3291 return message; 3292 } 3293 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DashboardTabFlakinessAlertOptions): DashboardTabFlakinessAlertOptions { 3294 let message = target ?? this.create(), end = reader.pos + length; 3295 while (reader.pos < end) { 3296 let [fieldNo, wireType] = reader.tag(); 3297 switch (fieldNo) { 3298 case /* float minimum_flakiness_to_alert */ 1: 3299 message.minimumFlakinessToAlert = reader.float(); 3300 break; 3301 case /* string alert_mail_to_addresses */ 2: 3302 message.alertMailToAddresses = reader.string(); 3303 break; 3304 case /* string subject */ 3: 3305 message.subject = reader.string(); 3306 break; 3307 case /* int32 wait_minutes_between_emails */ 4: 3308 message.waitMinutesBetweenEmails = reader.int32(); 3309 break; 3310 case /* string alert_mail_failure_message */ 5: 3311 message.alertMailFailureMessage = reader.string(); 3312 break; 3313 default: 3314 let u = options.readUnknownField; 3315 if (u === "throw") 3316 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 3317 let d = reader.skip(wireType); 3318 if (u !== false) 3319 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 3320 } 3321 } 3322 return message; 3323 } 3324 internalBinaryWrite(message: DashboardTabFlakinessAlertOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 3325 /* float minimum_flakiness_to_alert = 1; */ 3326 if (message.minimumFlakinessToAlert !== 0) 3327 writer.tag(1, WireType.Bit32).float(message.minimumFlakinessToAlert); 3328 /* string alert_mail_to_addresses = 2; */ 3329 if (message.alertMailToAddresses !== "") 3330 writer.tag(2, WireType.LengthDelimited).string(message.alertMailToAddresses); 3331 /* string subject = 3; */ 3332 if (message.subject !== "") 3333 writer.tag(3, WireType.LengthDelimited).string(message.subject); 3334 /* int32 wait_minutes_between_emails = 4; */ 3335 if (message.waitMinutesBetweenEmails !== 0) 3336 writer.tag(4, WireType.Varint).int32(message.waitMinutesBetweenEmails); 3337 /* string alert_mail_failure_message = 5; */ 3338 if (message.alertMailFailureMessage !== "") 3339 writer.tag(5, WireType.LengthDelimited).string(message.alertMailFailureMessage); 3340 let u = options.writeUnknownFields; 3341 if (u !== false) 3342 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 3343 return writer; 3344 } 3345 } 3346 /** 3347 * @generated MessageType for protobuf message testgrid.config.DashboardTabFlakinessAlertOptions 3348 */ 3349 export const DashboardTabFlakinessAlertOptions = new DashboardTabFlakinessAlertOptions$Type(); 3350 // @generated message type with reflection information, may provide speed optimized methods 3351 class DashboardTabStatusCustomizationOptions$Type extends MessageType<DashboardTabStatusCustomizationOptions> { 3352 constructor() { 3353 super("testgrid.config.DashboardTabStatusCustomizationOptions", [ 3354 { no: 1, name: "max_acceptable_flakiness", kind: "scalar", T: 2 /*ScalarType.FLOAT*/ }, 3355 { no: 2, name: "ignored_test_statuses", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["testgrid.config.DashboardTabStatusCustomizationOptions.IgnoredTestStatus", DashboardTabStatusCustomizationOptions_IgnoredTestStatus] }, 3356 { no: 3, name: "min_acceptable_runs", kind: "scalar", T: 5 /*ScalarType.INT32*/ } 3357 ]); 3358 } 3359 create(value?: PartialMessage<DashboardTabStatusCustomizationOptions>): DashboardTabStatusCustomizationOptions { 3360 const message = { maxAcceptableFlakiness: 0, ignoredTestStatuses: [], minAcceptableRuns: 0 }; 3361 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 3362 if (value !== undefined) 3363 reflectionMergePartial<DashboardTabStatusCustomizationOptions>(this, message, value); 3364 return message; 3365 } 3366 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DashboardTabStatusCustomizationOptions): DashboardTabStatusCustomizationOptions { 3367 let message = target ?? this.create(), end = reader.pos + length; 3368 while (reader.pos < end) { 3369 let [fieldNo, wireType] = reader.tag(); 3370 switch (fieldNo) { 3371 case /* float max_acceptable_flakiness */ 1: 3372 message.maxAcceptableFlakiness = reader.float(); 3373 break; 3374 case /* repeated testgrid.config.DashboardTabStatusCustomizationOptions.IgnoredTestStatus ignored_test_statuses */ 2: 3375 if (wireType === WireType.LengthDelimited) 3376 for (let e = reader.int32() + reader.pos; reader.pos < e;) 3377 message.ignoredTestStatuses.push(reader.int32()); 3378 else 3379 message.ignoredTestStatuses.push(reader.int32()); 3380 break; 3381 case /* int32 min_acceptable_runs */ 3: 3382 message.minAcceptableRuns = reader.int32(); 3383 break; 3384 default: 3385 let u = options.readUnknownField; 3386 if (u === "throw") 3387 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 3388 let d = reader.skip(wireType); 3389 if (u !== false) 3390 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 3391 } 3392 } 3393 return message; 3394 } 3395 internalBinaryWrite(message: DashboardTabStatusCustomizationOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 3396 /* float max_acceptable_flakiness = 1; */ 3397 if (message.maxAcceptableFlakiness !== 0) 3398 writer.tag(1, WireType.Bit32).float(message.maxAcceptableFlakiness); 3399 /* repeated testgrid.config.DashboardTabStatusCustomizationOptions.IgnoredTestStatus ignored_test_statuses = 2; */ 3400 if (message.ignoredTestStatuses.length) { 3401 writer.tag(2, WireType.LengthDelimited).fork(); 3402 for (let i = 0; i < message.ignoredTestStatuses.length; i++) 3403 writer.int32(message.ignoredTestStatuses[i]); 3404 writer.join(); 3405 } 3406 /* int32 min_acceptable_runs = 3; */ 3407 if (message.minAcceptableRuns !== 0) 3408 writer.tag(3, WireType.Varint).int32(message.minAcceptableRuns); 3409 let u = options.writeUnknownFields; 3410 if (u !== false) 3411 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 3412 return writer; 3413 } 3414 } 3415 /** 3416 * @generated MessageType for protobuf message testgrid.config.DashboardTabStatusCustomizationOptions 3417 */ 3418 export const DashboardTabStatusCustomizationOptions = new DashboardTabStatusCustomizationOptions$Type(); 3419 // @generated message type with reflection information, may provide speed optimized methods 3420 class DashboardGroup$Type extends MessageType<DashboardGroup> { 3421 constructor() { 3422 super("testgrid.config.DashboardGroup", [ 3423 { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 3424 { no: 2, name: "dashboard_names", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }, 3425 { no: 3, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 3426 ]); 3427 } 3428 create(value?: PartialMessage<DashboardGroup>): DashboardGroup { 3429 const message = { name: "", dashboardNames: [], description: "" }; 3430 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 3431 if (value !== undefined) 3432 reflectionMergePartial<DashboardGroup>(this, message, value); 3433 return message; 3434 } 3435 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DashboardGroup): DashboardGroup { 3436 let message = target ?? this.create(), end = reader.pos + length; 3437 while (reader.pos < end) { 3438 let [fieldNo, wireType] = reader.tag(); 3439 switch (fieldNo) { 3440 case /* string name */ 1: 3441 message.name = reader.string(); 3442 break; 3443 case /* repeated string dashboard_names */ 2: 3444 message.dashboardNames.push(reader.string()); 3445 break; 3446 case /* string description */ 3: 3447 message.description = reader.string(); 3448 break; 3449 default: 3450 let u = options.readUnknownField; 3451 if (u === "throw") 3452 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 3453 let d = reader.skip(wireType); 3454 if (u !== false) 3455 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 3456 } 3457 } 3458 return message; 3459 } 3460 internalBinaryWrite(message: DashboardGroup, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 3461 /* string name = 1; */ 3462 if (message.name !== "") 3463 writer.tag(1, WireType.LengthDelimited).string(message.name); 3464 /* repeated string dashboard_names = 2; */ 3465 for (let i = 0; i < message.dashboardNames.length; i++) 3466 writer.tag(2, WireType.LengthDelimited).string(message.dashboardNames[i]); 3467 /* string description = 3; */ 3468 if (message.description !== "") 3469 writer.tag(3, WireType.LengthDelimited).string(message.description); 3470 let u = options.writeUnknownFields; 3471 if (u !== false) 3472 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 3473 return writer; 3474 } 3475 } 3476 /** 3477 * @generated MessageType for protobuf message testgrid.config.DashboardGroup 3478 */ 3479 export const DashboardGroup = new DashboardGroup$Type(); 3480 // @generated message type with reflection information, may provide speed optimized methods 3481 class Configuration$Type extends MessageType<Configuration> { 3482 constructor() { 3483 super("testgrid.config.Configuration", [ 3484 { no: 1, name: "test_groups", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => TestGroup }, 3485 { no: 2, name: "dashboards", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Dashboard }, 3486 { no: 3, name: "dashboard_groups", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => DashboardGroup } 3487 ]); 3488 } 3489 create(value?: PartialMessage<Configuration>): Configuration { 3490 const message = { testGroups: [], dashboards: [], dashboardGroups: [] }; 3491 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 3492 if (value !== undefined) 3493 reflectionMergePartial<Configuration>(this, message, value); 3494 return message; 3495 } 3496 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Configuration): Configuration { 3497 let message = target ?? this.create(), end = reader.pos + length; 3498 while (reader.pos < end) { 3499 let [fieldNo, wireType] = reader.tag(); 3500 switch (fieldNo) { 3501 case /* repeated testgrid.config.TestGroup test_groups */ 1: 3502 message.testGroups.push(TestGroup.internalBinaryRead(reader, reader.uint32(), options)); 3503 break; 3504 case /* repeated testgrid.config.Dashboard dashboards */ 2: 3505 message.dashboards.push(Dashboard.internalBinaryRead(reader, reader.uint32(), options)); 3506 break; 3507 case /* repeated testgrid.config.DashboardGroup dashboard_groups */ 3: 3508 message.dashboardGroups.push(DashboardGroup.internalBinaryRead(reader, reader.uint32(), options)); 3509 break; 3510 default: 3511 let u = options.readUnknownField; 3512 if (u === "throw") 3513 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 3514 let d = reader.skip(wireType); 3515 if (u !== false) 3516 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 3517 } 3518 } 3519 return message; 3520 } 3521 internalBinaryWrite(message: Configuration, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 3522 /* repeated testgrid.config.TestGroup test_groups = 1; */ 3523 for (let i = 0; i < message.testGroups.length; i++) 3524 TestGroup.internalBinaryWrite(message.testGroups[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join(); 3525 /* repeated testgrid.config.Dashboard dashboards = 2; */ 3526 for (let i = 0; i < message.dashboards.length; i++) 3527 Dashboard.internalBinaryWrite(message.dashboards[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join(); 3528 /* repeated testgrid.config.DashboardGroup dashboard_groups = 3; */ 3529 for (let i = 0; i < message.dashboardGroups.length; i++) 3530 DashboardGroup.internalBinaryWrite(message.dashboardGroups[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join(); 3531 let u = options.writeUnknownFields; 3532 if (u !== false) 3533 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 3534 return writer; 3535 } 3536 } 3537 /** 3538 * @generated MessageType for protobuf message testgrid.config.Configuration 3539 */ 3540 export const Configuration = new Configuration$Type(); 3541 // @generated message type with reflection information, may provide speed optimized methods 3542 class HealthAnalysisOptions$Type extends MessageType<HealthAnalysisOptions> { 3543 constructor() { 3544 super("testgrid.config.HealthAnalysisOptions", [ 3545 { no: 1, name: "enable", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }, 3546 { no: 2, name: "days_of_analysis", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, 3547 { no: 3, name: "email_schedule", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 3548 { no: 4, name: "email_recipients", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, 3549 { no: 5, name: "grouping_regex", kind: "scalar", T: 9 /*ScalarType.STRING*/ } 3550 ]); 3551 } 3552 create(value?: PartialMessage<HealthAnalysisOptions>): HealthAnalysisOptions { 3553 const message = { enable: false, daysOfAnalysis: 0, emailSchedule: "", emailRecipients: "", groupingRegex: "" }; 3554 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 3555 if (value !== undefined) 3556 reflectionMergePartial<HealthAnalysisOptions>(this, message, value); 3557 return message; 3558 } 3559 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HealthAnalysisOptions): HealthAnalysisOptions { 3560 let message = target ?? this.create(), end = reader.pos + length; 3561 while (reader.pos < end) { 3562 let [fieldNo, wireType] = reader.tag(); 3563 switch (fieldNo) { 3564 case /* bool enable */ 1: 3565 message.enable = reader.bool(); 3566 break; 3567 case /* int32 days_of_analysis */ 2: 3568 message.daysOfAnalysis = reader.int32(); 3569 break; 3570 case /* string email_schedule */ 3: 3571 message.emailSchedule = reader.string(); 3572 break; 3573 case /* string email_recipients */ 4: 3574 message.emailRecipients = reader.string(); 3575 break; 3576 case /* string grouping_regex */ 5: 3577 message.groupingRegex = reader.string(); 3578 break; 3579 default: 3580 let u = options.readUnknownField; 3581 if (u === "throw") 3582 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 3583 let d = reader.skip(wireType); 3584 if (u !== false) 3585 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 3586 } 3587 } 3588 return message; 3589 } 3590 internalBinaryWrite(message: HealthAnalysisOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 3591 /* bool enable = 1; */ 3592 if (message.enable !== false) 3593 writer.tag(1, WireType.Varint).bool(message.enable); 3594 /* int32 days_of_analysis = 2; */ 3595 if (message.daysOfAnalysis !== 0) 3596 writer.tag(2, WireType.Varint).int32(message.daysOfAnalysis); 3597 /* string email_schedule = 3; */ 3598 if (message.emailSchedule !== "") 3599 writer.tag(3, WireType.LengthDelimited).string(message.emailSchedule); 3600 /* string email_recipients = 4; */ 3601 if (message.emailRecipients !== "") 3602 writer.tag(4, WireType.LengthDelimited).string(message.emailRecipients); 3603 /* string grouping_regex = 5; */ 3604 if (message.groupingRegex !== "") 3605 writer.tag(5, WireType.LengthDelimited).string(message.groupingRegex); 3606 let u = options.writeUnknownFields; 3607 if (u !== false) 3608 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 3609 return writer; 3610 } 3611 } 3612 /** 3613 * @generated MessageType for protobuf message testgrid.config.HealthAnalysisOptions 3614 */ 3615 export const HealthAnalysisOptions = new HealthAnalysisOptions$Type(); 3616 // @generated message type with reflection information, may provide speed optimized methods 3617 class DefaultConfiguration$Type extends MessageType<DefaultConfiguration> { 3618 constructor() { 3619 super("testgrid.config.DefaultConfiguration", [ 3620 { no: 1, name: "default_test_group", kind: "message", T: () => TestGroup }, 3621 { no: 2, name: "default_dashboard_tab", kind: "message", T: () => DashboardTab } 3622 ]); 3623 } 3624 create(value?: PartialMessage<DefaultConfiguration>): DefaultConfiguration { 3625 const message = {}; 3626 globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); 3627 if (value !== undefined) 3628 reflectionMergePartial<DefaultConfiguration>(this, message, value); 3629 return message; 3630 } 3631 internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DefaultConfiguration): DefaultConfiguration { 3632 let message = target ?? this.create(), end = reader.pos + length; 3633 while (reader.pos < end) { 3634 let [fieldNo, wireType] = reader.tag(); 3635 switch (fieldNo) { 3636 case /* testgrid.config.TestGroup default_test_group = 1 [deprecated = true];*/ 1: 3637 message.defaultTestGroup = TestGroup.internalBinaryRead(reader, reader.uint32(), options, message.defaultTestGroup); 3638 break; 3639 case /* testgrid.config.DashboardTab default_dashboard_tab = 2 [deprecated = true];*/ 2: 3640 message.defaultDashboardTab = DashboardTab.internalBinaryRead(reader, reader.uint32(), options, message.defaultDashboardTab); 3641 break; 3642 default: 3643 let u = options.readUnknownField; 3644 if (u === "throw") 3645 throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); 3646 let d = reader.skip(wireType); 3647 if (u !== false) 3648 (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); 3649 } 3650 } 3651 return message; 3652 } 3653 internalBinaryWrite(message: DefaultConfiguration, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { 3654 /* testgrid.config.TestGroup default_test_group = 1 [deprecated = true]; */ 3655 if (message.defaultTestGroup) 3656 TestGroup.internalBinaryWrite(message.defaultTestGroup, writer.tag(1, WireType.LengthDelimited).fork(), options).join(); 3657 /* testgrid.config.DashboardTab default_dashboard_tab = 2 [deprecated = true]; */ 3658 if (message.defaultDashboardTab) 3659 DashboardTab.internalBinaryWrite(message.defaultDashboardTab, writer.tag(2, WireType.LengthDelimited).fork(), options).join(); 3660 let u = options.writeUnknownFields; 3661 if (u !== false) 3662 (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); 3663 return writer; 3664 } 3665 } 3666 /** 3667 * @generated MessageType for protobuf message testgrid.config.DefaultConfiguration 3668 */ 3669 export const DefaultConfiguration = new DefaultConfiguration$Type();