diff --git a/app_dart/lib/src/service/luci_build_service.dart b/app_dart/lib/src/service/luci_build_service.dart index 35e170279..25f42e671 100644 --- a/app_dart/lib/src/service/luci_build_service.dart +++ b/app_dart/lib/src/service/luci_build_service.dart @@ -692,6 +692,27 @@ class LuciBuildService { tags ??= >{}; tags['trigger_type'] ??= ['auto_retry']; + // Updating task status first to avoid endless rerun when datastore transaction aborts. + try { + // Updates task status in Datastore. + task.attempts = (task.attempts ?? 0) + 1; + // Mark task as in progress to ensure it isn't scheduled over + task.status = Task.statusInProgress; + await datastore.insert([task]); + + // Updates task status in Firestore. + final int newAttempt = int.parse(taskDocument.name!.split('_').last) + 1; + tags['current_attempt'] = [newAttempt.toString()]; + taskDocument.resetAsRetry(attempt: newAttempt); + taskDocument.setStatus(firestore.Task.statusInProgress); + final List writes = documentsToWrites([taskDocument], exists: false); + await firestoreService.batchWriteDocuments(BatchWriteRequest(writes: writes), kDatabase); + } catch (error) { + log.severe( + 'updating task ${taskDocument.taskName} of commit ${taskDocument.commitSha} failure: $error. Skipping rescheduling.', + ); + return false; + } final BatchRequest request = BatchRequest( requests: [ Request( @@ -708,20 +729,6 @@ class LuciBuildService { ); await pubsub.publish('scheduler-requests', request); - // Updates task status in Datastore. - task.attempts = (task.attempts ?? 0) + 1; - // Mark task as in progress to ensure it isn't scheduled over - task.status = Task.statusInProgress; - await datastore.insert([task]); - - // Updates task status in Firestore. - final int newAttempt = int.parse(taskDocument.name!.split('_').last) + 1; - tags['current_attempt'] = [newAttempt.toString()]; - taskDocument.resetAsRetry(attempt: newAttempt); - taskDocument.setStatus(firestore.Task.statusInProgress); - final List writes = documentsToWrites([taskDocument], exists: false); - await firestoreService.batchWriteDocuments(BatchWriteRequest(writes: writes), kDatabase); - return true; } diff --git a/app_dart/test/service/luci_build_service_test.dart b/app_dart/test/service/luci_build_service_test.dart index 944dbaa61..ac7d5b8d1 100644 --- a/app_dart/test/service/luci_build_service_test.dart +++ b/app_dart/test/service/luci_build_service_test.dart @@ -16,6 +16,7 @@ import 'package:cocoon_service/src/model/luci/buildbucket.dart'; import 'package:cocoon_service/src/model/luci/push_message.dart' as push_message; import 'package:cocoon_service/src/service/exceptions.dart'; import 'package:cocoon_service/src/service/datastore.dart'; +import 'package:gcloud/datastore.dart'; import 'package:github/github.dart'; import 'package:googleapis/firestore/v1.dart' hide Status; import 'package:mockito/mockito.dart'; @@ -1058,6 +1059,39 @@ void main() { expect(rerunFlag, isTrue); }); + test('Skip rerun a failed test when task status update hit exception', () async { + firestoreTask = generateFirestoreTask(1, attempts: 1, status: firestore.Task.statusInfraFailure); + when( + mockFirestoreService.batchWriteDocuments( + captureAny, + captureAny, + ), + ).thenAnswer((Invocation invocation) { + throw InternalError(); + }); + firestoreCommit = generateFirestoreCommit(1); + totCommit = generateCommit(1); + config.db.values[totCommit.key] = totCommit; + config.maxLuciTaskRetriesValue = 1; + final Task task = generateTask( + 1, + status: Task.statusFailed, + parent: totCommit, + buildNumber: 1, + ); + final Target target = generateTarget(1); + final bool rerunFlag = await service.checkRerunBuilder( + commit: totCommit, + task: task, + target: target, + datastore: datastore, + firestoreService: mockFirestoreService, + taskDocument: firestoreTask!, + ); + expect(rerunFlag, isFalse); + expect(pubsub.messages.length, 0); + }); + test('Do not rerun a successful builder', () async { firestoreTask = generateFirestoreTask(1, attempts: 1); totCommit = generateCommit(1); diff --git a/packages/buildbucket-dart/CHANGELOG.md b/packages/buildbucket-dart/CHANGELOG.md index 5b507ede0..4b3f42f3c 100644 --- a/packages/buildbucket-dart/CHANGELOG.md +++ b/packages/buildbucket-dart/CHANGELOG.md @@ -1,3 +1,11 @@ +# 1.0.12 + +- Adding dependencies for resultdb. + +# 1.0.11 + +- Add resultsDb protos to the lib. + # 1.0.10 - Expose Builder_Item and Builder_Metadata. diff --git a/packages/buildbucket-dart/lib/buildbucket_pb.dart b/packages/buildbucket-dart/lib/buildbucket_pb.dart index 27d3c5ed0..9fd30863c 100644 --- a/packages/buildbucket-dart/lib/buildbucket_pb.dart +++ b/packages/buildbucket-dart/lib/buildbucket_pb.dart @@ -78,6 +78,17 @@ export 'src/generated/go.chromium.org/luci/buildbucket/proto/common.pbenum.dart' export 'src/generated/go.chromium.org/luci/buildbucket/proto/notification.pb.dart' show NotificationConfig, BuildsV2PubSub, PubSubCallBack; +// resultsDb +export 'src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pb.dart' + show TestResult, TestResultFile, TestResultFile_Format, Artifact, Artifact_Body; +export 'src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pb.dart' + show ReportTestResultsRequest, ReportTestResultsResponse, ReportInvocationLevelArtifactsRequest; +export 'src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pb.dart' + show LocationTags, LocationTags_Dir, LocationTags_File, LocationTags_Repo; +export 'src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pb.dart' + show TestMetadata, TestLocation, TestMetadataDetail, IssueTrackerComponent; +export 'src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pb.dart' show TestStatus, TestExoneration; + export 'src/generated/google/protobuf/struct.pb.dart' show Struct, Value, Value_Kind, NullValue, ListValue; export 'src/generated/google/protobuf/any.pb.dart' show Any; export 'src/generated/google/protobuf/duration.pb.dart' show Duration; diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pb.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pb.dart new file mode 100644 index 000000000..ef81e2cc6 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pb.dart @@ -0,0 +1,259 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/artifact.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../../../google/protobuf/timestamp.pb.dart' as $0; +import 'test_result.pbenum.dart' as $1; + +/// A file produced during a build/test, typically a test artifact. +/// The parent resource is either a TestResult or an Invocation. +/// +/// An invocation-level artifact might be related to tests, or it might not, for +/// example it may be used to store build step logs when streaming support is +/// added. +/// Next id: 10. +class Artifact extends $pb.GeneratedMessage { + factory Artifact({ + $core.String? name, + $core.String? artifactId, + $core.String? fetchUrl, + $0.Timestamp? fetchUrlExpiration, + $core.String? contentType, + $fixnum.Int64? sizeBytes, + $core.List<$core.int>? contents, + $core.String? gcsUri, + $1.TestStatus? testStatus, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (artifactId != null) { + $result.artifactId = artifactId; + } + if (fetchUrl != null) { + $result.fetchUrl = fetchUrl; + } + if (fetchUrlExpiration != null) { + $result.fetchUrlExpiration = fetchUrlExpiration; + } + if (contentType != null) { + $result.contentType = contentType; + } + if (sizeBytes != null) { + $result.sizeBytes = sizeBytes; + } + if (contents != null) { + $result.contents = contents; + } + if (gcsUri != null) { + $result.gcsUri = gcsUri; + } + if (testStatus != null) { + $result.testStatus = testStatus; + } + return $result; + } + Artifact._() : super(); + factory Artifact.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Artifact.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Artifact', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'artifactId') + ..aOS(3, _omitFieldNames ? '' : 'fetchUrl') + ..aOM<$0.Timestamp>(4, _omitFieldNames ? '' : 'fetchUrlExpiration', subBuilder: $0.Timestamp.create) + ..aOS(5, _omitFieldNames ? '' : 'contentType') + ..aInt64(6, _omitFieldNames ? '' : 'sizeBytes') + ..a<$core.List<$core.int>>(7, _omitFieldNames ? '' : 'contents', $pb.PbFieldType.OY) + ..aOS(8, _omitFieldNames ? '' : 'gcsUri') + ..e<$1.TestStatus>(9, _omitFieldNames ? '' : 'testStatus', $pb.PbFieldType.OE, + defaultOrMaker: $1.TestStatus.STATUS_UNSPECIFIED, + valueOf: $1.TestStatus.valueOf, + enumValues: $1.TestStatus.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Artifact clone() => Artifact()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Artifact copyWith(void Function(Artifact) updates) => + super.copyWith((message) => updates(message as Artifact)) as Artifact; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Artifact create() => Artifact._(); + Artifact createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Artifact getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Artifact? _defaultInstance; + + /// Can be used to refer to this artifact. + /// Format: + /// - For invocation-level artifacts: + /// "invocations/{INVOCATION_ID}/artifacts/{ARTIFACT_ID}". + /// - For test-result-level artifacts: + /// "invocations/{INVOCATION_ID}/tests/{URL_ESCAPED_TEST_ID}/results/{RESULT_ID}/artifacts/{ARTIFACT_ID}". + /// where URL_ESCAPED_TEST_ID is the test_id escaped with + /// https://golang.org/pkg/net/url/#PathEscape (see also https://aip.dev/122), + /// and ARTIFACT_ID is documented below. + /// Examples: "screenshot.png", "traces/a.txt". + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A local identifier of the artifact, unique within the parent resource. + /// MAY have slashes, but MUST NOT start with a slash. + /// SHOULD not use backslashes. + /// Regex: ^(?:[[:word:]]|\.)([\p{L}\p{M}\p{N}\p{P}\p{S}\p{Zs}]{0,254}[[:word:]])?$ + @$pb.TagNumber(2) + $core.String get artifactId => $_getSZ(1); + @$pb.TagNumber(2) + set artifactId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasArtifactId() => $_has(1); + @$pb.TagNumber(2) + void clearArtifactId() => clearField(2); + + /// A signed short-lived URL to fetch the contents of the artifact. + /// See also fetch_url_expiration. + @$pb.TagNumber(3) + $core.String get fetchUrl => $_getSZ(2); + @$pb.TagNumber(3) + set fetchUrl($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFetchUrl() => $_has(2); + @$pb.TagNumber(3) + void clearFetchUrl() => clearField(3); + + /// When fetch_url expires. If expired, re-request this Artifact. + @$pb.TagNumber(4) + $0.Timestamp get fetchUrlExpiration => $_getN(3); + @$pb.TagNumber(4) + set fetchUrlExpiration($0.Timestamp v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasFetchUrlExpiration() => $_has(3); + @$pb.TagNumber(4) + void clearFetchUrlExpiration() => clearField(4); + @$pb.TagNumber(4) + $0.Timestamp ensureFetchUrlExpiration() => $_ensure(3); + + /// Media type of the artifact. + /// Logs are typically "text/plain" and screenshots are typically "image/png". + /// Optional. + @$pb.TagNumber(5) + $core.String get contentType => $_getSZ(4); + @$pb.TagNumber(5) + set contentType($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasContentType() => $_has(4); + @$pb.TagNumber(5) + void clearContentType() => clearField(5); + + /// Size of the file. + /// Can be used in UI to decide between displaying the artifact inline or only + /// showing a link if it is too large. + /// If you are using the gcs_uri, this field is not verified, but only treated as a hint. + @$pb.TagNumber(6) + $fixnum.Int64 get sizeBytes => $_getI64(5); + @$pb.TagNumber(6) + set sizeBytes($fixnum.Int64 v) { + $_setInt64(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasSizeBytes() => $_has(5); + @$pb.TagNumber(6) + void clearSizeBytes() => clearField(6); + + /// Contents of the artifact. + /// This is INPUT_ONLY, and taken by BatchCreateArtifacts(). + /// All getter RPCs, such as ListArtifacts(), do not populate values into + /// the field in the response. + /// If specified, `gcs_uri` must be empty. + @$pb.TagNumber(7) + $core.List<$core.int> get contents => $_getN(6); + @$pb.TagNumber(7) + set contents($core.List<$core.int> v) { + $_setBytes(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasContents() => $_has(6); + @$pb.TagNumber(7) + void clearContents() => clearField(7); + + /// The GCS URI of the artifact if it's stored in GCS. If specified, `contents` must be empty. + @$pb.TagNumber(8) + $core.String get gcsUri => $_getSZ(7); + @$pb.TagNumber(8) + set gcsUri($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasGcsUri() => $_has(7); + @$pb.TagNumber(8) + void clearGcsUri() => clearField(8); + + /// Status of the test result that the artifact belongs to. + /// This is only applicable for test-level artifacts, not invocation-level artifacts. + /// We need this field because when an artifact is created (for example, with BatchCreateArtifact), + /// the containing test result may or may not be created yet, as they + /// are created in different channels from result sink. + /// Having the test status here allows setting the correct status of artifact in BigQuery. + @$pb.TagNumber(9) + $1.TestStatus get testStatus => $_getN(8); + @$pb.TagNumber(9) + set testStatus($1.TestStatus v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasTestStatus() => $_has(8); + @$pb.TagNumber(9) + void clearTestStatus() => clearField(9); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pbenum.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pbenum.dart new file mode 100644 index 000000000..3d2faf06d --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/artifact.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pbjson.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pbjson.dart new file mode 100644 index 000000000..360bda208 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pbjson.dart @@ -0,0 +1,47 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/artifact.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use artifactDescriptor instead') +const Artifact$json = { + '1': 'Artifact', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'artifact_id', '3': 2, '4': 1, '5': 9, '10': 'artifactId'}, + {'1': 'fetch_url', '3': 3, '4': 1, '5': 9, '10': 'fetchUrl'}, + { + '1': 'fetch_url_expiration', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'fetchUrlExpiration' + }, + {'1': 'content_type', '3': 5, '4': 1, '5': 9, '10': 'contentType'}, + {'1': 'size_bytes', '3': 6, '4': 1, '5': 3, '10': 'sizeBytes'}, + {'1': 'contents', '3': 7, '4': 1, '5': 12, '8': {}, '10': 'contents'}, + {'1': 'gcs_uri', '3': 8, '4': 1, '5': 9, '10': 'gcsUri'}, + {'1': 'test_status', '3': 9, '4': 1, '5': 14, '6': '.luci.resultdb.v1.TestStatus', '10': 'testStatus'}, + ], +}; + +/// Descriptor for `Artifact`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List artifactDescriptor = + $convert.base64Decode('CghBcnRpZmFjdBISCgRuYW1lGAEgASgJUgRuYW1lEh8KC2FydGlmYWN0X2lkGAIgASgJUgphcn' + 'RpZmFjdElkEhsKCWZldGNoX3VybBgDIAEoCVIIZmV0Y2hVcmwSTAoUZmV0Y2hfdXJsX2V4cGly' + 'YXRpb24YBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUhJmZXRjaFVybEV4cGlyYX' + 'Rpb24SIQoMY29udGVudF90eXBlGAUgASgJUgtjb250ZW50VHlwZRIdCgpzaXplX2J5dGVzGAYg' + 'ASgDUglzaXplQnl0ZXMSHwoIY29udGVudHMYByABKAxCA+BBBFIIY29udGVudHMSFwoHZ2NzX3' + 'VyaRgIIAEoCVIGZ2NzVXJpEj0KC3Rlc3Rfc3RhdHVzGAkgASgOMhwubHVjaS5yZXN1bHRkYi52' + 'MS5UZXN0U3RhdHVzUgp0ZXN0U3RhdHVz'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pb.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pb.dart new file mode 100644 index 000000000..7ad07377f --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pb.dart @@ -0,0 +1,194 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/failure_reason.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Error represents a problem that caused a test to fail, such as a crash +/// or expectation failure. +class FailureReason_Error extends $pb.GeneratedMessage { + factory FailureReason_Error({ + $core.String? message, + }) { + final $result = create(); + if (message != null) { + $result.message = message; + } + return $result; + } + FailureReason_Error._() : super(); + factory FailureReason_Error.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FailureReason_Error.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FailureReason.Error', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'message') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FailureReason_Error clone() => FailureReason_Error()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FailureReason_Error copyWith(void Function(FailureReason_Error) updates) => + super.copyWith((message) => updates(message as FailureReason_Error)) as FailureReason_Error; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FailureReason_Error create() => FailureReason_Error._(); + FailureReason_Error createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FailureReason_Error getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FailureReason_Error? _defaultInstance; + + /// The error message. This should only be the error message and + /// should not include any stack traces. An example would be the + /// message from an Exception in a Java test. + /// + /// This message may be used to cluster related failures together. + /// + /// The size of the message must be equal to or smaller than 1024 bytes in + /// UTF-8. + @$pb.TagNumber(1) + $core.String get message => $_getSZ(0); + @$pb.TagNumber(1) + set message($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMessage() => $_has(0); + @$pb.TagNumber(1) + void clearMessage() => clearField(1); +} + +/// Information about why a test failed. This information may be displayed +/// to developers in result viewing UIs and will also be used to cluster +/// similar failures together. +/// For example, this will contain assertion failure messages and stack traces. +class FailureReason extends $pb.GeneratedMessage { + factory FailureReason({ + $core.String? primaryErrorMessage, + $core.Iterable? errors, + $core.int? truncatedErrorsCount, + }) { + final $result = create(); + if (primaryErrorMessage != null) { + $result.primaryErrorMessage = primaryErrorMessage; + } + if (errors != null) { + $result.errors.addAll(errors); + } + if (truncatedErrorsCount != null) { + $result.truncatedErrorsCount = truncatedErrorsCount; + } + return $result; + } + FailureReason._() : super(); + factory FailureReason.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FailureReason.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FailureReason', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'primaryErrorMessage') + ..pc(2, _omitFieldNames ? '' : 'errors', $pb.PbFieldType.PM, + subBuilder: FailureReason_Error.create) + ..a<$core.int>(3, _omitFieldNames ? '' : 'truncatedErrorsCount', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FailureReason clone() => FailureReason()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FailureReason copyWith(void Function(FailureReason) updates) => + super.copyWith((message) => updates(message as FailureReason)) as FailureReason; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FailureReason create() => FailureReason._(); + FailureReason createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FailureReason getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FailureReason? _defaultInstance; + + /// The error message that ultimately caused the test to fail. This should + /// only be the error message and should not include any stack traces. + /// An example would be the message from an Exception in a Java test. + /// In the case that a test failed due to multiple expectation failures, any + /// immediately fatal failure should be chosen, or otherwise the first + /// expectation failure. + /// If this field is empty, other fields (including those from the TestResult) + /// may be used to cluster the failure instead. + /// + /// The size of the message must be equal to or smaller than 1024 bytes in + /// UTF-8. + @$pb.TagNumber(1) + $core.String get primaryErrorMessage => $_getSZ(0); + @$pb.TagNumber(1) + set primaryErrorMessage($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPrimaryErrorMessage() => $_has(0); + @$pb.TagNumber(1) + void clearPrimaryErrorMessage() => clearField(1); + + /// The error(s) that caused the test to fail. + /// + /// If there is more than one error (e.g. due to multiple expectation failures), + /// a stable sorting should be used. A recommended form of stable sorting is: + /// - Fatal errors (errors that cause the test to terminate immediately first, + /// then + /// - Within fatal/non-fatal errors, sort by chronological order + /// (earliest error first). + /// + /// Where this field is populated, errors[0].message shall match + /// primary_error_message. + /// + /// The total combined size of all errors (as measured by proto.Size()) must + /// not exceed 3,172 bytes. + @$pb.TagNumber(2) + $core.List get errors => $_getList(1); + + /// The number of errors that are truncated from the errors list above due to + /// the size limits. + @$pb.TagNumber(3) + $core.int get truncatedErrorsCount => $_getIZ(2); + @$pb.TagNumber(3) + set truncatedErrorsCount($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasTruncatedErrorsCount() => $_has(2); + @$pb.TagNumber(3) + void clearTruncatedErrorsCount() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pbenum.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pbenum.dart new file mode 100644 index 000000000..b21b6b545 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/failure_reason.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pbjson.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pbjson.dart new file mode 100644 index 000000000..9019564e3 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pbjson.dart @@ -0,0 +1,40 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/failure_reason.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use failureReasonDescriptor instead') +const FailureReason$json = { + '1': 'FailureReason', + '2': [ + {'1': 'primary_error_message', '3': 1, '4': 1, '5': 9, '10': 'primaryErrorMessage'}, + {'1': 'errors', '3': 2, '4': 3, '5': 11, '6': '.luci.resultdb.v1.FailureReason.Error', '10': 'errors'}, + {'1': 'truncated_errors_count', '3': 3, '4': 1, '5': 5, '10': 'truncatedErrorsCount'}, + ], + '3': [FailureReason_Error$json], +}; + +@$core.Deprecated('Use failureReasonDescriptor instead') +const FailureReason_Error$json = { + '1': 'Error', + '2': [ + {'1': 'message', '3': 1, '4': 1, '5': 9, '10': 'message'}, + ], +}; + +/// Descriptor for `FailureReason`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List failureReasonDescriptor = + $convert.base64Decode('Cg1GYWlsdXJlUmVhc29uEjIKFXByaW1hcnlfZXJyb3JfbWVzc2FnZRgBIAEoCVITcHJpbWFyeU' + 'Vycm9yTWVzc2FnZRI9CgZlcnJvcnMYAiADKAsyJS5sdWNpLnJlc3VsdGRiLnYxLkZhaWx1cmVS' + 'ZWFzb24uRXJyb3JSBmVycm9ycxI0ChZ0cnVuY2F0ZWRfZXJyb3JzX2NvdW50GAMgASgFUhR0cn' + 'VuY2F0ZWRFcnJvcnNDb3VudBohCgVFcnJvchIYCgdtZXNzYWdlGAEgASgJUgdtZXNzYWdl'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pb.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pb.dart new file mode 100644 index 000000000..cbb007658 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pb.dart @@ -0,0 +1,2465 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/resultdb.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../../../google/protobuf/field_mask.pb.dart' as $4; +import 'artifact.pb.dart' as $3; +import 'invocation.pb.dart' as $1; +import 'predicate.pb.dart' as $5; +import 'test_metadata.pb.dart' as $7; +import 'test_result.pb.dart' as $2; +import 'test_variant.pb.dart' as $6; + +/// A request message for GetInvocation RPC. +class GetInvocationRequest extends $pb.GeneratedMessage { + factory GetInvocationRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetInvocationRequest._() : super(); + factory GetInvocationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetInvocationRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetInvocationRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetInvocationRequest clone() => GetInvocationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetInvocationRequest copyWith(void Function(GetInvocationRequest) updates) => + super.copyWith((message) => updates(message as GetInvocationRequest)) as GetInvocationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetInvocationRequest create() => GetInvocationRequest._(); + GetInvocationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetInvocationRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetInvocationRequest? _defaultInstance; + + /// The name of the invocation to request, see Invocation.name. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// A request message for GetTestResult RPC. +class GetTestResultRequest extends $pb.GeneratedMessage { + factory GetTestResultRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetTestResultRequest._() : super(); + factory GetTestResultRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetTestResultRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetTestResultRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetTestResultRequest clone() => GetTestResultRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetTestResultRequest copyWith(void Function(GetTestResultRequest) updates) => + super.copyWith((message) => updates(message as GetTestResultRequest)) as GetTestResultRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetTestResultRequest create() => GetTestResultRequest._(); + GetTestResultRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetTestResultRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetTestResultRequest? _defaultInstance; + + /// The name of the test result to request, see TestResult.name. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// A request message for ListTestResults RPC. +class ListTestResultsRequest extends $pb.GeneratedMessage { + factory ListTestResultsRequest({ + $core.String? invocation, + $core.int? pageSize, + $core.String? pageToken, + $4.FieldMask? readMask, + }) { + final $result = create(); + if (invocation != null) { + $result.invocation = invocation; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (readMask != null) { + $result.readMask = readMask; + } + return $result; + } + ListTestResultsRequest._() : super(); + factory ListTestResultsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListTestResultsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListTestResultsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'invocation') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOM<$4.FieldMask>(4, _omitFieldNames ? '' : 'readMask', subBuilder: $4.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListTestResultsRequest clone() => ListTestResultsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListTestResultsRequest copyWith(void Function(ListTestResultsRequest) updates) => + super.copyWith((message) => updates(message as ListTestResultsRequest)) as ListTestResultsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListTestResultsRequest create() => ListTestResultsRequest._(); + ListTestResultsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListTestResultsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListTestResultsRequest? _defaultInstance; + + /// Name of the invocation, e.g. "invocations/{id}". + @$pb.TagNumber(1) + $core.String get invocation => $_getSZ(0); + @$pb.TagNumber(1) + set invocation($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasInvocation() => $_has(0); + @$pb.TagNumber(1) + void clearInvocation() => clearField(1); + + /// The maximum number of test results to return. + /// + /// The service may return fewer than this value. + /// If unspecified, at most 100 test results will be returned. + /// The maximum value is 1000; values above 1000 will be coerced to 1000. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// A page token, received from a previous `ListTestResults` call. + /// Provide this to retrieve the subsequent page. + /// + /// When paginating, all other parameters provided to `ListTestResults` MUST + /// match the call that provided the page token. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Fields to include in the response. + /// If not set, the default mask is used where summary_html and tags are + /// excluded. + /// Test result names will always be included even if "name" is not a part of + /// the mask. + @$pb.TagNumber(4) + $4.FieldMask get readMask => $_getN(3); + @$pb.TagNumber(4) + set readMask($4.FieldMask v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasReadMask() => $_has(3); + @$pb.TagNumber(4) + void clearReadMask() => clearField(4); + @$pb.TagNumber(4) + $4.FieldMask ensureReadMask() => $_ensure(3); +} + +/// A response message for ListTestResults RPC. +class ListTestResultsResponse extends $pb.GeneratedMessage { + factory ListTestResultsResponse({ + $core.Iterable<$2.TestResult>? testResults, + $core.String? nextPageToken, + }) { + final $result = create(); + if (testResults != null) { + $result.testResults.addAll(testResults); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListTestResultsResponse._() : super(); + factory ListTestResultsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListTestResultsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListTestResultsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pc<$2.TestResult>(1, _omitFieldNames ? '' : 'testResults', $pb.PbFieldType.PM, subBuilder: $2.TestResult.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListTestResultsResponse clone() => ListTestResultsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListTestResultsResponse copyWith(void Function(ListTestResultsResponse) updates) => + super.copyWith((message) => updates(message as ListTestResultsResponse)) as ListTestResultsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListTestResultsResponse create() => ListTestResultsResponse._(); + ListTestResultsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListTestResultsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListTestResultsResponse? _defaultInstance; + + /// The test results from the specified invocation. + @$pb.TagNumber(1) + $core.List<$2.TestResult> get testResults => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there were no subsequent pages at the time of + /// request. + /// If the invocation is not finalized, more results may appear later. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// A request message for GetTestExoneration RPC. +class GetTestExonerationRequest extends $pb.GeneratedMessage { + factory GetTestExonerationRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetTestExonerationRequest._() : super(); + factory GetTestExonerationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetTestExonerationRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetTestExonerationRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetTestExonerationRequest clone() => GetTestExonerationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetTestExonerationRequest copyWith(void Function(GetTestExonerationRequest) updates) => + super.copyWith((message) => updates(message as GetTestExonerationRequest)) as GetTestExonerationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetTestExonerationRequest create() => GetTestExonerationRequest._(); + GetTestExonerationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetTestExonerationRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetTestExonerationRequest? _defaultInstance; + + /// The name of the test exoneration to request, see TestExoneration.name. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// A request message for ListTestExonerations RPC. +class ListTestExonerationsRequest extends $pb.GeneratedMessage { + factory ListTestExonerationsRequest({ + $core.String? invocation, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (invocation != null) { + $result.invocation = invocation; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListTestExonerationsRequest._() : super(); + factory ListTestExonerationsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListTestExonerationsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListTestExonerationsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'invocation') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListTestExonerationsRequest clone() => ListTestExonerationsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListTestExonerationsRequest copyWith(void Function(ListTestExonerationsRequest) updates) => + super.copyWith((message) => updates(message as ListTestExonerationsRequest)) as ListTestExonerationsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListTestExonerationsRequest create() => ListTestExonerationsRequest._(); + ListTestExonerationsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListTestExonerationsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListTestExonerationsRequest? _defaultInstance; + + /// Name of the invocation, e.g. "invocations/{id}". + @$pb.TagNumber(1) + $core.String get invocation => $_getSZ(0); + @$pb.TagNumber(1) + set invocation($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasInvocation() => $_has(0); + @$pb.TagNumber(1) + void clearInvocation() => clearField(1); + + /// The maximum number of test exonerations to return. + /// + /// The service may return fewer than this value. + /// If unspecified, at most 100 test exonerations will be returned. + /// The maximum value is 1000; values above 1000 will be coerced to 1000. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// A page token, received from a previous `ListTestExonerations` call. + /// Provide this to retrieve the subsequent page. + /// + /// When paginating, all other parameters provided to `ListTestExonerations` + /// MUST match the call that provided the page token. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// A response message for ListTestExonerations RPC. +class ListTestExonerationsResponse extends $pb.GeneratedMessage { + factory ListTestExonerationsResponse({ + $core.Iterable<$2.TestExoneration>? testExonerations, + $core.String? nextPageToken, + }) { + final $result = create(); + if (testExonerations != null) { + $result.testExonerations.addAll(testExonerations); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListTestExonerationsResponse._() : super(); + factory ListTestExonerationsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListTestExonerationsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListTestExonerationsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pc<$2.TestExoneration>(1, _omitFieldNames ? '' : 'testExonerations', $pb.PbFieldType.PM, + subBuilder: $2.TestExoneration.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListTestExonerationsResponse clone() => ListTestExonerationsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListTestExonerationsResponse copyWith(void Function(ListTestExonerationsResponse) updates) => + super.copyWith((message) => updates(message as ListTestExonerationsResponse)) as ListTestExonerationsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListTestExonerationsResponse create() => ListTestExonerationsResponse._(); + ListTestExonerationsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListTestExonerationsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListTestExonerationsResponse? _defaultInstance; + + /// The test exonerations from the specified invocation. + @$pb.TagNumber(1) + $core.List<$2.TestExoneration> get testExonerations => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there were no subsequent pages at the time of + /// request. + /// If the invocation is not finalized, more results may appear later. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// A request message for QueryTestResults RPC. +class QueryTestResultsRequest extends $pb.GeneratedMessage { + factory QueryTestResultsRequest({ + $core.Iterable<$core.String>? invocations, + $5.TestResultPredicate? predicate, + $core.int? pageSize, + $core.String? pageToken, + $4.FieldMask? readMask, + }) { + final $result = create(); + if (invocations != null) { + $result.invocations.addAll(invocations); + } + if (predicate != null) { + $result.predicate = predicate; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (readMask != null) { + $result.readMask = readMask; + } + return $result; + } + QueryTestResultsRequest._() : super(); + factory QueryTestResultsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestResultsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestResultsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'invocations') + ..aOM<$5.TestResultPredicate>(2, _omitFieldNames ? '' : 'predicate', subBuilder: $5.TestResultPredicate.create) + ..a<$core.int>(4, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(5, _omitFieldNames ? '' : 'pageToken') + ..aOM<$4.FieldMask>(6, _omitFieldNames ? '' : 'readMask', subBuilder: $4.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestResultsRequest clone() => QueryTestResultsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestResultsRequest copyWith(void Function(QueryTestResultsRequest) updates) => + super.copyWith((message) => updates(message as QueryTestResultsRequest)) as QueryTestResultsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestResultsRequest create() => QueryTestResultsRequest._(); + QueryTestResultsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestResultsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestResultsRequest? _defaultInstance; + + /// Retrieve test results included in these invocations, directly or indirectly + /// (via Invocation.included_invocations). + /// + /// Specifying multiple invocations is equivalent to querying one invocation + /// that includes these. + @$pb.TagNumber(1) + $core.List<$core.String> get invocations => $_getList(0); + + /// A test result in the response must satisfy this predicate. + @$pb.TagNumber(2) + $5.TestResultPredicate get predicate => $_getN(1); + @$pb.TagNumber(2) + set predicate($5.TestResultPredicate v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPredicate() => $_has(1); + @$pb.TagNumber(2) + void clearPredicate() => clearField(2); + @$pb.TagNumber(2) + $5.TestResultPredicate ensurePredicate() => $_ensure(1); + + /// The maximum number of test results to return. + /// + /// The service may return fewer than this value. + /// If unspecified, at most 100 test results will be returned. + /// The maximum value is 1000; values above 1000 will be coerced to 1000. + @$pb.TagNumber(4) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(4) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(4) + void clearPageSize() => clearField(4); + + /// A page token, received from a previous `QueryTestResults` call. + /// Provide this to retrieve the subsequent page. + /// + /// When paginating, all other parameters provided to `QueryTestResults` MUST + /// match the call that provided the page token. + @$pb.TagNumber(5) + $core.String get pageToken => $_getSZ(3); + @$pb.TagNumber(5) + set pageToken($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasPageToken() => $_has(3); + @$pb.TagNumber(5) + void clearPageToken() => clearField(5); + + /// Fields to include in the response. + /// If not set, the default mask is used where summary_html and tags are + /// excluded. + /// Test result names will always be included even if "name" is not a part of + /// the mask. + @$pb.TagNumber(6) + $4.FieldMask get readMask => $_getN(4); + @$pb.TagNumber(6) + set readMask($4.FieldMask v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasReadMask() => $_has(4); + @$pb.TagNumber(6) + void clearReadMask() => clearField(6); + @$pb.TagNumber(6) + $4.FieldMask ensureReadMask() => $_ensure(4); +} + +/// A response message for QueryTestResults RPC. +class QueryTestResultsResponse extends $pb.GeneratedMessage { + factory QueryTestResultsResponse({ + $core.Iterable<$2.TestResult>? testResults, + $core.String? nextPageToken, + }) { + final $result = create(); + if (testResults != null) { + $result.testResults.addAll(testResults); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + QueryTestResultsResponse._() : super(); + factory QueryTestResultsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestResultsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestResultsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pc<$2.TestResult>(1, _omitFieldNames ? '' : 'testResults', $pb.PbFieldType.PM, subBuilder: $2.TestResult.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestResultsResponse clone() => QueryTestResultsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestResultsResponse copyWith(void Function(QueryTestResultsResponse) updates) => + super.copyWith((message) => updates(message as QueryTestResultsResponse)) as QueryTestResultsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestResultsResponse create() => QueryTestResultsResponse._(); + QueryTestResultsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestResultsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestResultsResponse? _defaultInstance; + + /// Matched test results. + /// Ordered by parent invocation ID, test ID and result ID. + @$pb.TagNumber(1) + $core.List<$2.TestResult> get testResults => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there were no subsequent pages at the time of + /// request. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// A request message for QueryTestExonerations RPC. +class QueryTestExonerationsRequest extends $pb.GeneratedMessage { + factory QueryTestExonerationsRequest({ + $core.Iterable<$core.String>? invocations, + $5.TestExonerationPredicate? predicate, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (invocations != null) { + $result.invocations.addAll(invocations); + } + if (predicate != null) { + $result.predicate = predicate; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + QueryTestExonerationsRequest._() : super(); + factory QueryTestExonerationsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestExonerationsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestExonerationsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'invocations') + ..aOM<$5.TestExonerationPredicate>(2, _omitFieldNames ? '' : 'predicate', + subBuilder: $5.TestExonerationPredicate.create) + ..a<$core.int>(4, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(5, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestExonerationsRequest clone() => QueryTestExonerationsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestExonerationsRequest copyWith(void Function(QueryTestExonerationsRequest) updates) => + super.copyWith((message) => updates(message as QueryTestExonerationsRequest)) as QueryTestExonerationsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestExonerationsRequest create() => QueryTestExonerationsRequest._(); + QueryTestExonerationsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestExonerationsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestExonerationsRequest? _defaultInstance; + + /// Retrieve test exonerations included in these invocations, directly or + /// indirectly (via Invocation.included_invocations). + /// + /// Specifying multiple invocations is equivalent to querying one invocation + /// that includes these. + @$pb.TagNumber(1) + $core.List<$core.String> get invocations => $_getList(0); + + /// A test exoneration in the response must satisfy this predicate. + @$pb.TagNumber(2) + $5.TestExonerationPredicate get predicate => $_getN(1); + @$pb.TagNumber(2) + set predicate($5.TestExonerationPredicate v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPredicate() => $_has(1); + @$pb.TagNumber(2) + void clearPredicate() => clearField(2); + @$pb.TagNumber(2) + $5.TestExonerationPredicate ensurePredicate() => $_ensure(1); + + /// The maximum number of test exonerations to return. + /// + /// The service may return fewer than this value. + /// If unspecified, at most 100 test exonerations will be returned. + /// The maximum value is 1000; values above 1000 will be coerced to 1000. + @$pb.TagNumber(4) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(4) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(4) + void clearPageSize() => clearField(4); + + /// A page token, received from a previous `QueryTestExonerations` call. + /// Provide this to retrieve the subsequent page. + /// + /// When paginating, all other parameters provided to `QueryTestExonerations` + /// MUST match the call that provided the page token. + @$pb.TagNumber(5) + $core.String get pageToken => $_getSZ(3); + @$pb.TagNumber(5) + set pageToken($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasPageToken() => $_has(3); + @$pb.TagNumber(5) + void clearPageToken() => clearField(5); +} + +/// A response message for QueryTestExonerations RPC. +class QueryTestExonerationsResponse extends $pb.GeneratedMessage { + factory QueryTestExonerationsResponse({ + $core.Iterable<$2.TestExoneration>? testExonerations, + $core.String? nextPageToken, + }) { + final $result = create(); + if (testExonerations != null) { + $result.testExonerations.addAll(testExonerations); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + QueryTestExonerationsResponse._() : super(); + factory QueryTestExonerationsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestExonerationsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestExonerationsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pc<$2.TestExoneration>(1, _omitFieldNames ? '' : 'testExonerations', $pb.PbFieldType.PM, + subBuilder: $2.TestExoneration.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestExonerationsResponse clone() => QueryTestExonerationsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestExonerationsResponse copyWith(void Function(QueryTestExonerationsResponse) updates) => + super.copyWith((message) => updates(message as QueryTestExonerationsResponse)) as QueryTestExonerationsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestExonerationsResponse create() => QueryTestExonerationsResponse._(); + QueryTestExonerationsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestExonerationsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestExonerationsResponse? _defaultInstance; + + /// The test exonerations matching the predicate. + /// Ordered by parent invocation ID, test ID and exoneration ID. + @$pb.TagNumber(1) + $core.List<$2.TestExoneration> get testExonerations => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there were no subsequent pages at the time of + /// request. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// A request message for QueryTestResultStatistics RPC. +class QueryTestResultStatisticsRequest extends $pb.GeneratedMessage { + factory QueryTestResultStatisticsRequest({ + $core.Iterable<$core.String>? invocations, + }) { + final $result = create(); + if (invocations != null) { + $result.invocations.addAll(invocations); + } + return $result; + } + QueryTestResultStatisticsRequest._() : super(); + factory QueryTestResultStatisticsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestResultStatisticsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestResultStatisticsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'invocations') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestResultStatisticsRequest clone() => QueryTestResultStatisticsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestResultStatisticsRequest copyWith(void Function(QueryTestResultStatisticsRequest) updates) => + super.copyWith((message) => updates(message as QueryTestResultStatisticsRequest)) + as QueryTestResultStatisticsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestResultStatisticsRequest create() => QueryTestResultStatisticsRequest._(); + QueryTestResultStatisticsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestResultStatisticsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestResultStatisticsRequest? _defaultInstance; + + /// Retrieve statistics of test result belong to these invocations, + /// directly or indirectly (via Invocation.included_invocations). + /// + /// Specifying multiple invocations is equivalent to requesting one invocation + /// that includes these. + @$pb.TagNumber(1) + $core.List<$core.String> get invocations => $_getList(0); +} + +/// A response message for QueryTestResultStatistics RPC. +class QueryTestResultStatisticsResponse extends $pb.GeneratedMessage { + factory QueryTestResultStatisticsResponse({ + $fixnum.Int64? totalTestResults, + }) { + final $result = create(); + if (totalTestResults != null) { + $result.totalTestResults = totalTestResults; + } + return $result; + } + QueryTestResultStatisticsResponse._() : super(); + factory QueryTestResultStatisticsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestResultStatisticsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestResultStatisticsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'totalTestResults') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestResultStatisticsResponse clone() => QueryTestResultStatisticsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestResultStatisticsResponse copyWith(void Function(QueryTestResultStatisticsResponse) updates) => + super.copyWith((message) => updates(message as QueryTestResultStatisticsResponse)) + as QueryTestResultStatisticsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestResultStatisticsResponse create() => QueryTestResultStatisticsResponse._(); + QueryTestResultStatisticsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestResultStatisticsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestResultStatisticsResponse? _defaultInstance; + + /// Total number of test results. + @$pb.TagNumber(1) + $fixnum.Int64 get totalTestResults => $_getI64(0); + @$pb.TagNumber(1) + set totalTestResults($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTotalTestResults() => $_has(0); + @$pb.TagNumber(1) + void clearTotalTestResults() => clearField(1); +} + +/// A request message for GetArtifact RPC. +class GetArtifactRequest extends $pb.GeneratedMessage { + factory GetArtifactRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetArtifactRequest._() : super(); + factory GetArtifactRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetArtifactRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetArtifactRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetArtifactRequest clone() => GetArtifactRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetArtifactRequest copyWith(void Function(GetArtifactRequest) updates) => + super.copyWith((message) => updates(message as GetArtifactRequest)) as GetArtifactRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetArtifactRequest create() => GetArtifactRequest._(); + GetArtifactRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetArtifactRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetArtifactRequest? _defaultInstance; + + /// The name of the artifact to request, see Artifact.name. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// A request message for ListArtifacts RPC. +class ListArtifactsRequest extends $pb.GeneratedMessage { + factory ListArtifactsRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListArtifactsRequest._() : super(); + factory ListArtifactsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListArtifactsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListArtifactsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListArtifactsRequest clone() => ListArtifactsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListArtifactsRequest copyWith(void Function(ListArtifactsRequest) updates) => + super.copyWith((message) => updates(message as ListArtifactsRequest)) as ListArtifactsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListArtifactsRequest create() => ListArtifactsRequest._(); + ListArtifactsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListArtifactsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListArtifactsRequest? _defaultInstance; + + /// Name of the parent, e.g. an invocation (see Invocation.name) or + /// a test result (see TestResult.name). + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The maximum number of artifacts to return. + /// + /// The service may return fewer than this value. + /// If unspecified, at most 100 artifacts will be returned. + /// The maximum value is 1000; values above 1000 will be coerced to 1000. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// A page token, received from a previous `ListArtifacts` call. + /// Provide this to retrieve the subsequent page. + /// + /// When paginating, all other parameters provided to `ListArtifacts` MUST + /// match the call that provided the page token. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// A response message for ListArtifacts RPC. +class ListArtifactsResponse extends $pb.GeneratedMessage { + factory ListArtifactsResponse({ + $core.Iterable<$3.Artifact>? artifacts, + $core.String? nextPageToken, + }) { + final $result = create(); + if (artifacts != null) { + $result.artifacts.addAll(artifacts); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListArtifactsResponse._() : super(); + factory ListArtifactsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListArtifactsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListArtifactsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pc<$3.Artifact>(1, _omitFieldNames ? '' : 'artifacts', $pb.PbFieldType.PM, subBuilder: $3.Artifact.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListArtifactsResponse clone() => ListArtifactsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListArtifactsResponse copyWith(void Function(ListArtifactsResponse) updates) => + super.copyWith((message) => updates(message as ListArtifactsResponse)) as ListArtifactsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListArtifactsResponse create() => ListArtifactsResponse._(); + ListArtifactsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListArtifactsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListArtifactsResponse? _defaultInstance; + + /// The artifacts from the specified parent. + @$pb.TagNumber(1) + $core.List<$3.Artifact> get artifacts => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there were no subsequent pages at the time of + /// request. + /// If the invocation is not finalized, more results may appear later. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// A request message for QueryArtifacts RPC. +class QueryArtifactsRequest extends $pb.GeneratedMessage { + factory QueryArtifactsRequest({ + $core.Iterable<$core.String>? invocations, + $5.ArtifactPredicate? predicate, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (invocations != null) { + $result.invocations.addAll(invocations); + } + if (predicate != null) { + $result.predicate = predicate; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + QueryArtifactsRequest._() : super(); + factory QueryArtifactsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryArtifactsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryArtifactsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'invocations') + ..aOM<$5.ArtifactPredicate>(2, _omitFieldNames ? '' : 'predicate', subBuilder: $5.ArtifactPredicate.create) + ..a<$core.int>(4, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(5, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryArtifactsRequest clone() => QueryArtifactsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryArtifactsRequest copyWith(void Function(QueryArtifactsRequest) updates) => + super.copyWith((message) => updates(message as QueryArtifactsRequest)) as QueryArtifactsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryArtifactsRequest create() => QueryArtifactsRequest._(); + QueryArtifactsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryArtifactsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryArtifactsRequest? _defaultInstance; + + /// Retrieve artifacts included in these invocations, directly or indirectly + /// (via Invocation.included_invocations and via contained test results). + /// + /// Specifying multiple invocations is equivalent to querying one invocation + /// that includes these. + @$pb.TagNumber(1) + $core.List<$core.String> get invocations => $_getList(0); + + /// An artifact in the response must satisfy this predicate. + @$pb.TagNumber(2) + $5.ArtifactPredicate get predicate => $_getN(1); + @$pb.TagNumber(2) + set predicate($5.ArtifactPredicate v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPredicate() => $_has(1); + @$pb.TagNumber(2) + void clearPredicate() => clearField(2); + @$pb.TagNumber(2) + $5.ArtifactPredicate ensurePredicate() => $_ensure(1); + + /// The maximum number of artifacts to return. + /// + /// The service may return fewer than this value. + /// If unspecified, at most 100 artifacts will be returned. + /// The maximum value is 1000; values above 1000 will be coerced to 1000. + @$pb.TagNumber(4) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(4) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(4) + void clearPageSize() => clearField(4); + + /// A page token, received from a previous `QueryArtifacts` call. + /// Provide this to retrieve the subsequent page. + /// + /// When paginating, all other parameters provided to `QueryArtifacts` MUST + /// match the call that provided the page token. + @$pb.TagNumber(5) + $core.String get pageToken => $_getSZ(3); + @$pb.TagNumber(5) + set pageToken($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasPageToken() => $_has(3); + @$pb.TagNumber(5) + void clearPageToken() => clearField(5); +} + +/// A response message for QueryArtifacts RPC. +class QueryArtifactsResponse extends $pb.GeneratedMessage { + factory QueryArtifactsResponse({ + $core.Iterable<$3.Artifact>? artifacts, + $core.String? nextPageToken, + }) { + final $result = create(); + if (artifacts != null) { + $result.artifacts.addAll(artifacts); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + QueryArtifactsResponse._() : super(); + factory QueryArtifactsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryArtifactsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryArtifactsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pc<$3.Artifact>(1, _omitFieldNames ? '' : 'artifacts', $pb.PbFieldType.PM, subBuilder: $3.Artifact.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryArtifactsResponse clone() => QueryArtifactsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryArtifactsResponse copyWith(void Function(QueryArtifactsResponse) updates) => + super.copyWith((message) => updates(message as QueryArtifactsResponse)) as QueryArtifactsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryArtifactsResponse create() => QueryArtifactsResponse._(); + QueryArtifactsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryArtifactsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryArtifactsResponse? _defaultInstance; + + /// Matched artifacts. + /// First invocation-level artifacts, then test-result-level artifacts + /// ordered by parent invocation ID, test ID and artifact ID. + @$pb.TagNumber(1) + $core.List<$3.Artifact> get artifacts => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there were no subsequent pages at the time of + /// request. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// A request message for QueryTestVariants RPC. +/// Next id: 9. +class QueryTestVariantsRequest extends $pb.GeneratedMessage { + factory QueryTestVariantsRequest({ + $core.Iterable<$core.String>? invocations, + $core.int? pageSize, + $core.String? pageToken, + $6.TestVariantPredicate? predicate, + $4.FieldMask? readMask, + $core.int? resultLimit, + }) { + final $result = create(); + if (invocations != null) { + $result.invocations.addAll(invocations); + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (predicate != null) { + $result.predicate = predicate; + } + if (readMask != null) { + $result.readMask = readMask; + } + if (resultLimit != null) { + $result.resultLimit = resultLimit; + } + return $result; + } + QueryTestVariantsRequest._() : super(); + factory QueryTestVariantsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestVariantsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestVariantsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pPS(2, _omitFieldNames ? '' : 'invocations') + ..a<$core.int>(4, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(5, _omitFieldNames ? '' : 'pageToken') + ..aOM<$6.TestVariantPredicate>(6, _omitFieldNames ? '' : 'predicate', subBuilder: $6.TestVariantPredicate.create) + ..aOM<$4.FieldMask>(7, _omitFieldNames ? '' : 'readMask', subBuilder: $4.FieldMask.create) + ..a<$core.int>(8, _omitFieldNames ? '' : 'resultLimit', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestVariantsRequest clone() => QueryTestVariantsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestVariantsRequest copyWith(void Function(QueryTestVariantsRequest) updates) => + super.copyWith((message) => updates(message as QueryTestVariantsRequest)) as QueryTestVariantsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestVariantsRequest create() => QueryTestVariantsRequest._(); + QueryTestVariantsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestVariantsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestVariantsRequest? _defaultInstance; + + /// Retrieve test variants included in these invocations, directly or indirectly + /// (via Invocation.included_invocations). + /// + /// Specifying multiple invocations is equivalent to querying one invocation + /// that includes these. + @$pb.TagNumber(2) + $core.List<$core.String> get invocations => $_getList(0); + + /// The maximum number of test variants to return. + /// + /// The service may return fewer than this value. + /// If unspecified, at most 100 test variants will be returned. + /// The maximum value is 10,000; values above 10,000 will be coerced to 10,000. + @$pb.TagNumber(4) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(4) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(4) + void clearPageSize() => clearField(4); + + /// A page token, received from a previous `QueryTestVariants` call. + /// Provide this to retrieve the subsequent page. + /// + /// When paginating, all other parameters provided to `QueryTestVariants` MUST + /// match the call that provided the page token. + @$pb.TagNumber(5) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(5) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(5) + void clearPageToken() => clearField(5); + + /// A test variant must satisfy this predicate. + @$pb.TagNumber(6) + $6.TestVariantPredicate get predicate => $_getN(3); + @$pb.TagNumber(6) + set predicate($6.TestVariantPredicate v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasPredicate() => $_has(3); + @$pb.TagNumber(6) + void clearPredicate() => clearField(6); + @$pb.TagNumber(6) + $6.TestVariantPredicate ensurePredicate() => $_ensure(3); + + /// Fields to include in the response. + /// If not set, the default mask is used where all fields are included. + /// + /// The following fields in results.*.result will NEVER be included even when + /// specified: + /// * test_id + /// * variant_hash + /// * variant + /// * test_metadata + /// Those values can be found in the parent test variant objects. + /// + /// The following fields will ALWAYS be included even when NOT specified: + /// * test_id + /// * variant_hash + /// * status + @$pb.TagNumber(7) + $4.FieldMask get readMask => $_getN(4); + @$pb.TagNumber(7) + set readMask($4.FieldMask v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasReadMask() => $_has(4); + @$pb.TagNumber(7) + void clearReadMask() => clearField(7); + @$pb.TagNumber(7) + $4.FieldMask ensureReadMask() => $_ensure(4); + + /// The maximum number of test results to be included in a test variant. + /// + /// If a test variant has more results than the limit, the remaining results + /// will not be returned. + /// If unspecified, at most 10 results will be included in a test variant. + /// The maximum value is 100; values above 100 will be coerced to 100. + @$pb.TagNumber(8) + $core.int get resultLimit => $_getIZ(5); + @$pb.TagNumber(8) + set resultLimit($core.int v) { + $_setSignedInt32(5, v); + } + + @$pb.TagNumber(8) + $core.bool hasResultLimit() => $_has(5); + @$pb.TagNumber(8) + void clearResultLimit() => clearField(8); +} + +/// A response message for QueryTestVariants RPC. +class QueryTestVariantsResponse extends $pb.GeneratedMessage { + factory QueryTestVariantsResponse({ + $core.Iterable<$6.TestVariant>? testVariants, + $core.String? nextPageToken, + $core.Map<$core.String, $1.Sources>? sources, + }) { + final $result = create(); + if (testVariants != null) { + $result.testVariants.addAll(testVariants); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + if (sources != null) { + $result.sources.addAll(sources); + } + return $result; + } + QueryTestVariantsResponse._() : super(); + factory QueryTestVariantsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestVariantsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestVariantsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pc<$6.TestVariant>(1, _omitFieldNames ? '' : 'testVariants', $pb.PbFieldType.PM, + subBuilder: $6.TestVariant.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..m<$core.String, $1.Sources>(3, _omitFieldNames ? '' : 'sources', + entryClassName: 'QueryTestVariantsResponse.SourcesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: $1.Sources.create, + valueDefaultOrMaker: $1.Sources.getDefault, + packageName: const $pb.PackageName('luci.resultdb.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestVariantsResponse clone() => QueryTestVariantsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestVariantsResponse copyWith(void Function(QueryTestVariantsResponse) updates) => + super.copyWith((message) => updates(message as QueryTestVariantsResponse)) as QueryTestVariantsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestVariantsResponse create() => QueryTestVariantsResponse._(); + QueryTestVariantsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestVariantsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestVariantsResponse? _defaultInstance; + + /// Matched test variants. + /// Ordered by TestVariantStatus, test_id, then variant_hash + @$pb.TagNumber(1) + $core.List<$6.TestVariant> get testVariants => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there were no subsequent pages at the time of + /// request. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); + + /// The code sources tested by the returned test variants. The sources are keyed + /// by an ID which allows them to be cross-referenced from TestVariant.sources_id. + /// + /// The sources are returned via this map instead of directly on the TestVariant + /// to avoid excessive response size. Each source message could be up to a few + /// kilobytes and there are usually no more than a handful of different sources + /// tested in an invocation, so deduplicating them here reduces response size. + @$pb.TagNumber(3) + $core.Map<$core.String, $1.Sources> get sources => $_getMap(2); +} + +class BatchGetTestVariantsRequest_TestVariantIdentifier extends $pb.GeneratedMessage { + factory BatchGetTestVariantsRequest_TestVariantIdentifier({ + $core.String? testId, + $core.String? variantHash, + }) { + final $result = create(); + if (testId != null) { + $result.testId = testId; + } + if (variantHash != null) { + $result.variantHash = variantHash; + } + return $result; + } + BatchGetTestVariantsRequest_TestVariantIdentifier._() : super(); + factory BatchGetTestVariantsRequest_TestVariantIdentifier.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchGetTestVariantsRequest_TestVariantIdentifier.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchGetTestVariantsRequest.TestVariantIdentifier', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'testId') + ..aOS(2, _omitFieldNames ? '' : 'variantHash') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchGetTestVariantsRequest_TestVariantIdentifier clone() => + BatchGetTestVariantsRequest_TestVariantIdentifier()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchGetTestVariantsRequest_TestVariantIdentifier copyWith( + void Function(BatchGetTestVariantsRequest_TestVariantIdentifier) updates) => + super.copyWith((message) => updates(message as BatchGetTestVariantsRequest_TestVariantIdentifier)) + as BatchGetTestVariantsRequest_TestVariantIdentifier; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchGetTestVariantsRequest_TestVariantIdentifier create() => + BatchGetTestVariantsRequest_TestVariantIdentifier._(); + BatchGetTestVariantsRequest_TestVariantIdentifier createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchGetTestVariantsRequest_TestVariantIdentifier getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BatchGetTestVariantsRequest_TestVariantIdentifier? _defaultInstance; + + /// The unique identifier of the test in a LUCI project. See the comment on + /// TestResult.test_id for full documentation. + @$pb.TagNumber(1) + $core.String get testId => $_getSZ(0); + @$pb.TagNumber(1) + set testId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTestId() => $_has(0); + @$pb.TagNumber(1) + void clearTestId() => clearField(1); + + /// Hash of the variant. See the comment on TestResult.variant_hash for full + /// documentation. + @$pb.TagNumber(2) + $core.String get variantHash => $_getSZ(1); + @$pb.TagNumber(2) + set variantHash($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasVariantHash() => $_has(1); + @$pb.TagNumber(2) + void clearVariantHash() => clearField(2); +} + +/// A request message for BatchGetTestVariants RPC. +class BatchGetTestVariantsRequest extends $pb.GeneratedMessage { + factory BatchGetTestVariantsRequest({ + $core.String? invocation, + $core.Iterable? testVariants, + $core.int? resultLimit, + }) { + final $result = create(); + if (invocation != null) { + $result.invocation = invocation; + } + if (testVariants != null) { + $result.testVariants.addAll(testVariants); + } + if (resultLimit != null) { + $result.resultLimit = resultLimit; + } + return $result; + } + BatchGetTestVariantsRequest._() : super(); + factory BatchGetTestVariantsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchGetTestVariantsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BatchGetTestVariantsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'invocation') + ..pc( + 2, _omitFieldNames ? '' : 'testVariants', $pb.PbFieldType.PM, + subBuilder: BatchGetTestVariantsRequest_TestVariantIdentifier.create) + ..a<$core.int>(3, _omitFieldNames ? '' : 'resultLimit', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchGetTestVariantsRequest clone() => BatchGetTestVariantsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchGetTestVariantsRequest copyWith(void Function(BatchGetTestVariantsRequest) updates) => + super.copyWith((message) => updates(message as BatchGetTestVariantsRequest)) as BatchGetTestVariantsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchGetTestVariantsRequest create() => BatchGetTestVariantsRequest._(); + BatchGetTestVariantsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchGetTestVariantsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BatchGetTestVariantsRequest? _defaultInstance; + + /// Name of the invocation that the test variants are in. + @$pb.TagNumber(1) + $core.String get invocation => $_getSZ(0); + @$pb.TagNumber(1) + set invocation($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasInvocation() => $_has(0); + @$pb.TagNumber(1) + void clearInvocation() => clearField(1); + + /// A list of test IDs and variant hashes, identifying the requested test + /// variants. Size is limited to 500. Any request for more than 500 variants + /// will return an error. + @$pb.TagNumber(2) + $core.List get testVariants => $_getList(1); + + /// The maximum number of test results to be included in a test variant. + /// + /// If a test variant has more results than the limit, the remaining results + /// will not be returned. + /// If unspecified, at most 10 results will be included in a test variant. + /// The maximum value is 100; values above 100 will be coerced to 100. + @$pb.TagNumber(3) + $core.int get resultLimit => $_getIZ(2); + @$pb.TagNumber(3) + set resultLimit($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasResultLimit() => $_has(2); + @$pb.TagNumber(3) + void clearResultLimit() => clearField(3); +} + +/// A response message for BatchGetTestVariants RPC. +class BatchGetTestVariantsResponse extends $pb.GeneratedMessage { + factory BatchGetTestVariantsResponse({ + $core.Iterable<$6.TestVariant>? testVariants, + $core.Map<$core.String, $1.Sources>? sources, + }) { + final $result = create(); + if (testVariants != null) { + $result.testVariants.addAll(testVariants); + } + if (sources != null) { + $result.sources.addAll(sources); + } + return $result; + } + BatchGetTestVariantsResponse._() : super(); + factory BatchGetTestVariantsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchGetTestVariantsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BatchGetTestVariantsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pc<$6.TestVariant>(1, _omitFieldNames ? '' : 'testVariants', $pb.PbFieldType.PM, + subBuilder: $6.TestVariant.create) + ..m<$core.String, $1.Sources>(2, _omitFieldNames ? '' : 'sources', + entryClassName: 'BatchGetTestVariantsResponse.SourcesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: $1.Sources.create, + valueDefaultOrMaker: $1.Sources.getDefault, + packageName: const $pb.PackageName('luci.resultdb.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchGetTestVariantsResponse clone() => BatchGetTestVariantsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchGetTestVariantsResponse copyWith(void Function(BatchGetTestVariantsResponse) updates) => + super.copyWith((message) => updates(message as BatchGetTestVariantsResponse)) as BatchGetTestVariantsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchGetTestVariantsResponse create() => BatchGetTestVariantsResponse._(); + BatchGetTestVariantsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchGetTestVariantsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BatchGetTestVariantsResponse? _defaultInstance; + + /// Test variants matching the requests. Any variants that weren't found are + /// omitted from the response. Clients shouldn't rely on the ordering of this + /// field, as no particular order is guaranteed. + @$pb.TagNumber(1) + $core.List<$6.TestVariant> get testVariants => $_getList(0); + + /// The code sources tested by the returned test variants. The sources are keyed + /// by an ID which allows them to be cross-referenced from TestVariant.sources_id. + /// + /// The sources are returned via this map instead of directly on the TestVariant + /// to avoid excessive response size. Each source message could be up to a few + /// kilobytes and there are usually no more than a handful of different sources + /// tested in an invocation, so deduplicating them here reduces response size. + @$pb.TagNumber(2) + $core.Map<$core.String, $1.Sources> get sources => $_getMap(1); +} + +/// A request message for QueryTestMetadata RPC. +class QueryTestMetadataRequest extends $pb.GeneratedMessage { + factory QueryTestMetadataRequest({ + $core.String? project, + $5.TestMetadataPredicate? predicate, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (project != null) { + $result.project = project; + } + if (predicate != null) { + $result.predicate = predicate; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + QueryTestMetadataRequest._() : super(); + factory QueryTestMetadataRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestMetadataRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestMetadataRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'project') + ..aOM<$5.TestMetadataPredicate>(2, _omitFieldNames ? '' : 'predicate', subBuilder: $5.TestMetadataPredicate.create) + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(4, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestMetadataRequest clone() => QueryTestMetadataRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestMetadataRequest copyWith(void Function(QueryTestMetadataRequest) updates) => + super.copyWith((message) => updates(message as QueryTestMetadataRequest)) as QueryTestMetadataRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestMetadataRequest create() => QueryTestMetadataRequest._(); + QueryTestMetadataRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestMetadataRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestMetadataRequest? _defaultInstance; + + /// The LUCI Project to query. + @$pb.TagNumber(1) + $core.String get project => $_getSZ(0); + @$pb.TagNumber(1) + set project($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProject() => $_has(0); + @$pb.TagNumber(1) + void clearProject() => clearField(1); + + /// Filters to apply to the returned test metadata. + @$pb.TagNumber(2) + $5.TestMetadataPredicate get predicate => $_getN(1); + @$pb.TagNumber(2) + set predicate($5.TestMetadataPredicate v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPredicate() => $_has(1); + @$pb.TagNumber(2) + void clearPredicate() => clearField(2); + @$pb.TagNumber(2) + $5.TestMetadataPredicate ensurePredicate() => $_ensure(1); + + /// The maximum number of test metadata entries to return. + /// + /// The service may return fewer than this value. + /// If unspecified, at most 1000 test metadata entries will be returned. + /// The maximum value is 100K; values above 100K will be coerced to 100K. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); + + /// A page token, received from a previous `QueryTestMetadata` call. + /// Provide this to retrieve the subsequent page. + /// + /// When paginating, all other parameters provided to `QueryTestMetadata` MUST + /// match the call that provided the page token. + @$pb.TagNumber(4) + $core.String get pageToken => $_getSZ(3); + @$pb.TagNumber(4) + set pageToken($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageToken() => $_has(3); + @$pb.TagNumber(4) + void clearPageToken() => clearField(4); +} + +/// A response message for QueryTestMetadata RPC. +class QueryTestMetadataResponse extends $pb.GeneratedMessage { + factory QueryTestMetadataResponse({ + $core.Iterable<$7.TestMetadataDetail>? testMetadata, + $core.String? nextPageToken, + }) { + final $result = create(); + if (testMetadata != null) { + $result.testMetadata.addAll(testMetadata); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + QueryTestMetadataResponse._() : super(); + factory QueryTestMetadataResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestMetadataResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryTestMetadataResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..pc<$7.TestMetadataDetail>(1, _omitFieldNames ? '' : 'testMetadata', $pb.PbFieldType.PM, + protoName: 'testMetadata', subBuilder: $7.TestMetadataDetail.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestMetadataResponse clone() => QueryTestMetadataResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestMetadataResponse copyWith(void Function(QueryTestMetadataResponse) updates) => + super.copyWith((message) => updates(message as QueryTestMetadataResponse)) as QueryTestMetadataResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestMetadataResponse create() => QueryTestMetadataResponse._(); + QueryTestMetadataResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestMetadataResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTestMetadataResponse? _defaultInstance; + + /// The matched testMetadata. + @$pb.TagNumber(1) + $core.List<$7.TestMetadataDetail> get testMetadata => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there were no subsequent pages at the time of + /// request. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// A request message for QueryNewTestVariants RPC. +/// To use this RPC, callers need: +/// - resultdb.baselines.get in the realm the :@project, where +/// baseline_project is the LUCI project that contains the baseline. +/// - resultdb.testResults.list in the realm of the invocation which is being +/// queried. +class QueryNewTestVariantsRequest extends $pb.GeneratedMessage { + factory QueryNewTestVariantsRequest({ + $core.String? invocation, + $core.String? baseline, + }) { + final $result = create(); + if (invocation != null) { + $result.invocation = invocation; + } + if (baseline != null) { + $result.baseline = baseline; + } + return $result; + } + QueryNewTestVariantsRequest._() : super(); + factory QueryNewTestVariantsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryNewTestVariantsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryNewTestVariantsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'invocation') + ..aOS(2, _omitFieldNames ? '' : 'baseline') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryNewTestVariantsRequest clone() => QueryNewTestVariantsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryNewTestVariantsRequest copyWith(void Function(QueryNewTestVariantsRequest) updates) => + super.copyWith((message) => updates(message as QueryNewTestVariantsRequest)) as QueryNewTestVariantsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryNewTestVariantsRequest create() => QueryNewTestVariantsRequest._(); + QueryNewTestVariantsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryNewTestVariantsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryNewTestVariantsRequest? _defaultInstance; + + /// Name of the invocation, e.g. "invocations/{id}". + @$pb.TagNumber(1) + $core.String get invocation => $_getSZ(0); + @$pb.TagNumber(1) + set invocation($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasInvocation() => $_has(0); + @$pb.TagNumber(1) + void clearInvocation() => clearField(1); + + /// The baseline to compare test variants against, to determine if they are new. + /// e.g. “projects/{project}/baselines/{baseline_id}”. + /// For example, in the project "chromium", the baseline_id may be + /// "try:linux-rel". + @$pb.TagNumber(2) + $core.String get baseline => $_getSZ(1); + @$pb.TagNumber(2) + set baseline($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasBaseline() => $_has(1); + @$pb.TagNumber(2) + void clearBaseline() => clearField(2); +} + +/// Represents a new test, which contains minimal information to uniquely identify a TestVariant. +class QueryNewTestVariantsResponse_NewTestVariant extends $pb.GeneratedMessage { + factory QueryNewTestVariantsResponse_NewTestVariant({ + $core.String? testId, + $core.String? variantHash, + }) { + final $result = create(); + if (testId != null) { + $result.testId = testId; + } + if (variantHash != null) { + $result.variantHash = variantHash; + } + return $result; + } + QueryNewTestVariantsResponse_NewTestVariant._() : super(); + factory QueryNewTestVariantsResponse_NewTestVariant.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryNewTestVariantsResponse_NewTestVariant.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QueryNewTestVariantsResponse.NewTestVariant', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'testId') + ..aOS(2, _omitFieldNames ? '' : 'variantHash') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryNewTestVariantsResponse_NewTestVariant clone() => + QueryNewTestVariantsResponse_NewTestVariant()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryNewTestVariantsResponse_NewTestVariant copyWith( + void Function(QueryNewTestVariantsResponse_NewTestVariant) updates) => + super.copyWith((message) => updates(message as QueryNewTestVariantsResponse_NewTestVariant)) + as QueryNewTestVariantsResponse_NewTestVariant; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryNewTestVariantsResponse_NewTestVariant create() => QueryNewTestVariantsResponse_NewTestVariant._(); + QueryNewTestVariantsResponse_NewTestVariant createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryNewTestVariantsResponse_NewTestVariant getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryNewTestVariantsResponse_NewTestVariant? _defaultInstance; + + /// A unique identifier of the test in a LUCI project. + /// Regex: ^[[::print::]]{1,256}$ + /// + /// Refer to TestResult.test_id for details. + @$pb.TagNumber(1) + $core.String get testId => $_getSZ(0); + @$pb.TagNumber(1) + set testId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTestId() => $_has(0); + @$pb.TagNumber(1) + void clearTestId() => clearField(1); + + /// Hash of the variant. + /// hex(sha256(sorted(''.join('%s:%s\n' for k, v in variant.items())))). + @$pb.TagNumber(2) + $core.String get variantHash => $_getSZ(1); + @$pb.TagNumber(2) + set variantHash($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasVariantHash() => $_has(1); + @$pb.TagNumber(2) + void clearVariantHash() => clearField(2); +} + +/// A response message for QueryNewTestVariants RPC. +class QueryNewTestVariantsResponse extends $pb.GeneratedMessage { + factory QueryNewTestVariantsResponse({ + $core.bool? isBaselineReady, + $core.Iterable? newTestVariants, + }) { + final $result = create(); + if (isBaselineReady != null) { + $result.isBaselineReady = isBaselineReady; + } + if (newTestVariants != null) { + $result.newTestVariants.addAll(newTestVariants); + } + return $result; + } + QueryNewTestVariantsResponse._() : super(); + factory QueryNewTestVariantsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryNewTestVariantsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'QueryNewTestVariantsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'isBaselineReady') + ..pc(2, _omitFieldNames ? '' : 'newTestVariants', $pb.PbFieldType.PM, + subBuilder: QueryNewTestVariantsResponse_NewTestVariant.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryNewTestVariantsResponse clone() => QueryNewTestVariantsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryNewTestVariantsResponse copyWith(void Function(QueryNewTestVariantsResponse) updates) => + super.copyWith((message) => updates(message as QueryNewTestVariantsResponse)) as QueryNewTestVariantsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryNewTestVariantsResponse create() => QueryNewTestVariantsResponse._(); + QueryNewTestVariantsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryNewTestVariantsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryNewTestVariantsResponse? _defaultInstance; + + /// Indicates whether the baseline has been populated with at least 72 hours + /// of data and the results can be relied upon. + @$pb.TagNumber(1) + $core.bool get isBaselineReady => $_getBF(0); + @$pb.TagNumber(1) + set isBaselineReady($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasIsBaselineReady() => $_has(0); + @$pb.TagNumber(1) + void clearIsBaselineReady() => clearField(1); + + /// Test variants that are new, meaning that they have not been part of + /// a submitted run prior. + @$pb.TagNumber(2) + $core.List get newTestVariants => $_getList(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbenum.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbenum.dart new file mode 100644 index 000000000..18a20ca0e --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/resultdb.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbgrpc.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbgrpc.dart new file mode 100644 index 000000000..816522a17 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbgrpc.dart @@ -0,0 +1,381 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/resultdb.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'artifact.pb.dart' as $3; +import 'invocation.pb.dart' as $1; +import 'resultdb.pb.dart' as $0; +import 'test_result.pb.dart' as $2; + +export 'resultdb.pb.dart'; + +@$pb.GrpcServiceName('luci.resultdb.v1.ResultDB') +class ResultDBClient extends $grpc.Client { + static final _$getInvocation = $grpc.ClientMethod<$0.GetInvocationRequest, $1.Invocation>( + '/luci.resultdb.v1.ResultDB/GetInvocation', + ($0.GetInvocationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Invocation.fromBuffer(value)); + static final _$getTestResult = $grpc.ClientMethod<$0.GetTestResultRequest, $2.TestResult>( + '/luci.resultdb.v1.ResultDB/GetTestResult', + ($0.GetTestResultRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $2.TestResult.fromBuffer(value)); + static final _$listTestResults = $grpc.ClientMethod<$0.ListTestResultsRequest, $0.ListTestResultsResponse>( + '/luci.resultdb.v1.ResultDB/ListTestResults', + ($0.ListTestResultsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.ListTestResultsResponse.fromBuffer(value)); + static final _$getTestExoneration = $grpc.ClientMethod<$0.GetTestExonerationRequest, $2.TestExoneration>( + '/luci.resultdb.v1.ResultDB/GetTestExoneration', + ($0.GetTestExonerationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $2.TestExoneration.fromBuffer(value)); + static final _$listTestExonerations = + $grpc.ClientMethod<$0.ListTestExonerationsRequest, $0.ListTestExonerationsResponse>( + '/luci.resultdb.v1.ResultDB/ListTestExonerations', + ($0.ListTestExonerationsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.ListTestExonerationsResponse.fromBuffer(value)); + static final _$queryTestResults = $grpc.ClientMethod<$0.QueryTestResultsRequest, $0.QueryTestResultsResponse>( + '/luci.resultdb.v1.ResultDB/QueryTestResults', + ($0.QueryTestResultsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.QueryTestResultsResponse.fromBuffer(value)); + static final _$queryTestExonerations = + $grpc.ClientMethod<$0.QueryTestExonerationsRequest, $0.QueryTestExonerationsResponse>( + '/luci.resultdb.v1.ResultDB/QueryTestExonerations', + ($0.QueryTestExonerationsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.QueryTestExonerationsResponse.fromBuffer(value)); + static final _$queryTestResultStatistics = + $grpc.ClientMethod<$0.QueryTestResultStatisticsRequest, $0.QueryTestResultStatisticsResponse>( + '/luci.resultdb.v1.ResultDB/QueryTestResultStatistics', + ($0.QueryTestResultStatisticsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.QueryTestResultStatisticsResponse.fromBuffer(value)); + static final _$queryNewTestVariants = + $grpc.ClientMethod<$0.QueryNewTestVariantsRequest, $0.QueryNewTestVariantsResponse>( + '/luci.resultdb.v1.ResultDB/QueryNewTestVariants', + ($0.QueryNewTestVariantsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.QueryNewTestVariantsResponse.fromBuffer(value)); + static final _$getArtifact = $grpc.ClientMethod<$0.GetArtifactRequest, $3.Artifact>( + '/luci.resultdb.v1.ResultDB/GetArtifact', + ($0.GetArtifactRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $3.Artifact.fromBuffer(value)); + static final _$listArtifacts = $grpc.ClientMethod<$0.ListArtifactsRequest, $0.ListArtifactsResponse>( + '/luci.resultdb.v1.ResultDB/ListArtifacts', + ($0.ListArtifactsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.ListArtifactsResponse.fromBuffer(value)); + static final _$queryArtifacts = $grpc.ClientMethod<$0.QueryArtifactsRequest, $0.QueryArtifactsResponse>( + '/luci.resultdb.v1.ResultDB/QueryArtifacts', + ($0.QueryArtifactsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.QueryArtifactsResponse.fromBuffer(value)); + static final _$queryTestVariants = $grpc.ClientMethod<$0.QueryTestVariantsRequest, $0.QueryTestVariantsResponse>( + '/luci.resultdb.v1.ResultDB/QueryTestVariants', + ($0.QueryTestVariantsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.QueryTestVariantsResponse.fromBuffer(value)); + static final _$batchGetTestVariants = + $grpc.ClientMethod<$0.BatchGetTestVariantsRequest, $0.BatchGetTestVariantsResponse>( + '/luci.resultdb.v1.ResultDB/BatchGetTestVariants', + ($0.BatchGetTestVariantsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.BatchGetTestVariantsResponse.fromBuffer(value)); + static final _$queryTestMetadata = $grpc.ClientMethod<$0.QueryTestMetadataRequest, $0.QueryTestMetadataResponse>( + '/luci.resultdb.v1.ResultDB/QueryTestMetadata', + ($0.QueryTestMetadataRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.QueryTestMetadataResponse.fromBuffer(value)); + + ResultDBClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$1.Invocation> getInvocation($0.GetInvocationRequest request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getInvocation, request, options: options); + } + + $grpc.ResponseFuture<$2.TestResult> getTestResult($0.GetTestResultRequest request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getTestResult, request, options: options); + } + + $grpc.ResponseFuture<$0.ListTestResultsResponse> listTestResults($0.ListTestResultsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listTestResults, request, options: options); + } + + $grpc.ResponseFuture<$2.TestExoneration> getTestExoneration($0.GetTestExonerationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getTestExoneration, request, options: options); + } + + $grpc.ResponseFuture<$0.ListTestExonerationsResponse> listTestExonerations($0.ListTestExonerationsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listTestExonerations, request, options: options); + } + + $grpc.ResponseFuture<$0.QueryTestResultsResponse> queryTestResults($0.QueryTestResultsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryTestResults, request, options: options); + } + + $grpc.ResponseFuture<$0.QueryTestExonerationsResponse> queryTestExonerations($0.QueryTestExonerationsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryTestExonerations, request, options: options); + } + + $grpc.ResponseFuture<$0.QueryTestResultStatisticsResponse> queryTestResultStatistics( + $0.QueryTestResultStatisticsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryTestResultStatistics, request, options: options); + } + + $grpc.ResponseFuture<$0.QueryNewTestVariantsResponse> queryNewTestVariants($0.QueryNewTestVariantsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryNewTestVariants, request, options: options); + } + + $grpc.ResponseFuture<$3.Artifact> getArtifact($0.GetArtifactRequest request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getArtifact, request, options: options); + } + + $grpc.ResponseFuture<$0.ListArtifactsResponse> listArtifacts($0.ListArtifactsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listArtifacts, request, options: options); + } + + $grpc.ResponseFuture<$0.QueryArtifactsResponse> queryArtifacts($0.QueryArtifactsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryArtifacts, request, options: options); + } + + $grpc.ResponseFuture<$0.QueryTestVariantsResponse> queryTestVariants($0.QueryTestVariantsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryTestVariants, request, options: options); + } + + $grpc.ResponseFuture<$0.BatchGetTestVariantsResponse> batchGetTestVariants($0.BatchGetTestVariantsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$batchGetTestVariants, request, options: options); + } + + $grpc.ResponseFuture<$0.QueryTestMetadataResponse> queryTestMetadata($0.QueryTestMetadataRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryTestMetadata, request, options: options); + } +} + +@$pb.GrpcServiceName('luci.resultdb.v1.ResultDB') +abstract class ResultDBServiceBase extends $grpc.Service { + $core.String get $name => 'luci.resultdb.v1.ResultDB'; + + ResultDBServiceBase() { + $addMethod($grpc.ServiceMethod<$0.GetInvocationRequest, $1.Invocation>( + 'GetInvocation', + getInvocation_Pre, + false, + false, + ($core.List<$core.int> value) => $0.GetInvocationRequest.fromBuffer(value), + ($1.Invocation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.GetTestResultRequest, $2.TestResult>( + 'GetTestResult', + getTestResult_Pre, + false, + false, + ($core.List<$core.int> value) => $0.GetTestResultRequest.fromBuffer(value), + ($2.TestResult value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.ListTestResultsRequest, $0.ListTestResultsResponse>( + 'ListTestResults', + listTestResults_Pre, + false, + false, + ($core.List<$core.int> value) => $0.ListTestResultsRequest.fromBuffer(value), + ($0.ListTestResultsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.GetTestExonerationRequest, $2.TestExoneration>( + 'GetTestExoneration', + getTestExoneration_Pre, + false, + false, + ($core.List<$core.int> value) => $0.GetTestExonerationRequest.fromBuffer(value), + ($2.TestExoneration value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.ListTestExonerationsRequest, $0.ListTestExonerationsResponse>( + 'ListTestExonerations', + listTestExonerations_Pre, + false, + false, + ($core.List<$core.int> value) => $0.ListTestExonerationsRequest.fromBuffer(value), + ($0.ListTestExonerationsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.QueryTestResultsRequest, $0.QueryTestResultsResponse>( + 'QueryTestResults', + queryTestResults_Pre, + false, + false, + ($core.List<$core.int> value) => $0.QueryTestResultsRequest.fromBuffer(value), + ($0.QueryTestResultsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.QueryTestExonerationsRequest, $0.QueryTestExonerationsResponse>( + 'QueryTestExonerations', + queryTestExonerations_Pre, + false, + false, + ($core.List<$core.int> value) => $0.QueryTestExonerationsRequest.fromBuffer(value), + ($0.QueryTestExonerationsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.QueryTestResultStatisticsRequest, $0.QueryTestResultStatisticsResponse>( + 'QueryTestResultStatistics', + queryTestResultStatistics_Pre, + false, + false, + ($core.List<$core.int> value) => $0.QueryTestResultStatisticsRequest.fromBuffer(value), + ($0.QueryTestResultStatisticsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.QueryNewTestVariantsRequest, $0.QueryNewTestVariantsResponse>( + 'QueryNewTestVariants', + queryNewTestVariants_Pre, + false, + false, + ($core.List<$core.int> value) => $0.QueryNewTestVariantsRequest.fromBuffer(value), + ($0.QueryNewTestVariantsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.GetArtifactRequest, $3.Artifact>( + 'GetArtifact', + getArtifact_Pre, + false, + false, + ($core.List<$core.int> value) => $0.GetArtifactRequest.fromBuffer(value), + ($3.Artifact value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.ListArtifactsRequest, $0.ListArtifactsResponse>( + 'ListArtifacts', + listArtifacts_Pre, + false, + false, + ($core.List<$core.int> value) => $0.ListArtifactsRequest.fromBuffer(value), + ($0.ListArtifactsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.QueryArtifactsRequest, $0.QueryArtifactsResponse>( + 'QueryArtifacts', + queryArtifacts_Pre, + false, + false, + ($core.List<$core.int> value) => $0.QueryArtifactsRequest.fromBuffer(value), + ($0.QueryArtifactsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.QueryTestVariantsRequest, $0.QueryTestVariantsResponse>( + 'QueryTestVariants', + queryTestVariants_Pre, + false, + false, + ($core.List<$core.int> value) => $0.QueryTestVariantsRequest.fromBuffer(value), + ($0.QueryTestVariantsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.BatchGetTestVariantsRequest, $0.BatchGetTestVariantsResponse>( + 'BatchGetTestVariants', + batchGetTestVariants_Pre, + false, + false, + ($core.List<$core.int> value) => $0.BatchGetTestVariantsRequest.fromBuffer(value), + ($0.BatchGetTestVariantsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.QueryTestMetadataRequest, $0.QueryTestMetadataResponse>( + 'QueryTestMetadata', + queryTestMetadata_Pre, + false, + false, + ($core.List<$core.int> value) => $0.QueryTestMetadataRequest.fromBuffer(value), + ($0.QueryTestMetadataResponse value) => value.writeToBuffer())); + } + + $async.Future<$1.Invocation> getInvocation_Pre( + $grpc.ServiceCall call, $async.Future<$0.GetInvocationRequest> request) async { + return getInvocation(call, await request); + } + + $async.Future<$2.TestResult> getTestResult_Pre( + $grpc.ServiceCall call, $async.Future<$0.GetTestResultRequest> request) async { + return getTestResult(call, await request); + } + + $async.Future<$0.ListTestResultsResponse> listTestResults_Pre( + $grpc.ServiceCall call, $async.Future<$0.ListTestResultsRequest> request) async { + return listTestResults(call, await request); + } + + $async.Future<$2.TestExoneration> getTestExoneration_Pre( + $grpc.ServiceCall call, $async.Future<$0.GetTestExonerationRequest> request) async { + return getTestExoneration(call, await request); + } + + $async.Future<$0.ListTestExonerationsResponse> listTestExonerations_Pre( + $grpc.ServiceCall call, $async.Future<$0.ListTestExonerationsRequest> request) async { + return listTestExonerations(call, await request); + } + + $async.Future<$0.QueryTestResultsResponse> queryTestResults_Pre( + $grpc.ServiceCall call, $async.Future<$0.QueryTestResultsRequest> request) async { + return queryTestResults(call, await request); + } + + $async.Future<$0.QueryTestExonerationsResponse> queryTestExonerations_Pre( + $grpc.ServiceCall call, $async.Future<$0.QueryTestExonerationsRequest> request) async { + return queryTestExonerations(call, await request); + } + + $async.Future<$0.QueryTestResultStatisticsResponse> queryTestResultStatistics_Pre( + $grpc.ServiceCall call, $async.Future<$0.QueryTestResultStatisticsRequest> request) async { + return queryTestResultStatistics(call, await request); + } + + $async.Future<$0.QueryNewTestVariantsResponse> queryNewTestVariants_Pre( + $grpc.ServiceCall call, $async.Future<$0.QueryNewTestVariantsRequest> request) async { + return queryNewTestVariants(call, await request); + } + + $async.Future<$3.Artifact> getArtifact_Pre( + $grpc.ServiceCall call, $async.Future<$0.GetArtifactRequest> request) async { + return getArtifact(call, await request); + } + + $async.Future<$0.ListArtifactsResponse> listArtifacts_Pre( + $grpc.ServiceCall call, $async.Future<$0.ListArtifactsRequest> request) async { + return listArtifacts(call, await request); + } + + $async.Future<$0.QueryArtifactsResponse> queryArtifacts_Pre( + $grpc.ServiceCall call, $async.Future<$0.QueryArtifactsRequest> request) async { + return queryArtifacts(call, await request); + } + + $async.Future<$0.QueryTestVariantsResponse> queryTestVariants_Pre( + $grpc.ServiceCall call, $async.Future<$0.QueryTestVariantsRequest> request) async { + return queryTestVariants(call, await request); + } + + $async.Future<$0.BatchGetTestVariantsResponse> batchGetTestVariants_Pre( + $grpc.ServiceCall call, $async.Future<$0.BatchGetTestVariantsRequest> request) async { + return batchGetTestVariants(call, await request); + } + + $async.Future<$0.QueryTestMetadataResponse> queryTestMetadata_Pre( + $grpc.ServiceCall call, $async.Future<$0.QueryTestMetadataRequest> request) async { + return queryTestMetadata(call, await request); + } + + $async.Future<$1.Invocation> getInvocation($grpc.ServiceCall call, $0.GetInvocationRequest request); + $async.Future<$2.TestResult> getTestResult($grpc.ServiceCall call, $0.GetTestResultRequest request); + $async.Future<$0.ListTestResultsResponse> listTestResults($grpc.ServiceCall call, $0.ListTestResultsRequest request); + $async.Future<$2.TestExoneration> getTestExoneration($grpc.ServiceCall call, $0.GetTestExonerationRequest request); + $async.Future<$0.ListTestExonerationsResponse> listTestExonerations( + $grpc.ServiceCall call, $0.ListTestExonerationsRequest request); + $async.Future<$0.QueryTestResultsResponse> queryTestResults( + $grpc.ServiceCall call, $0.QueryTestResultsRequest request); + $async.Future<$0.QueryTestExonerationsResponse> queryTestExonerations( + $grpc.ServiceCall call, $0.QueryTestExonerationsRequest request); + $async.Future<$0.QueryTestResultStatisticsResponse> queryTestResultStatistics( + $grpc.ServiceCall call, $0.QueryTestResultStatisticsRequest request); + $async.Future<$0.QueryNewTestVariantsResponse> queryNewTestVariants( + $grpc.ServiceCall call, $0.QueryNewTestVariantsRequest request); + $async.Future<$3.Artifact> getArtifact($grpc.ServiceCall call, $0.GetArtifactRequest request); + $async.Future<$0.ListArtifactsResponse> listArtifacts($grpc.ServiceCall call, $0.ListArtifactsRequest request); + $async.Future<$0.QueryArtifactsResponse> queryArtifacts($grpc.ServiceCall call, $0.QueryArtifactsRequest request); + $async.Future<$0.QueryTestVariantsResponse> queryTestVariants( + $grpc.ServiceCall call, $0.QueryTestVariantsRequest request); + $async.Future<$0.BatchGetTestVariantsResponse> batchGetTestVariants( + $grpc.ServiceCall call, $0.BatchGetTestVariantsRequest request); + $async.Future<$0.QueryTestMetadataResponse> queryTestMetadata( + $grpc.ServiceCall call, $0.QueryTestMetadataRequest request); +} diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbjson.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbjson.dart new file mode 100644 index 000000000..c849c4fa6 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbjson.dart @@ -0,0 +1,516 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/resultdb.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use getInvocationRequestDescriptor instead') +const GetInvocationRequest$json = { + '1': 'GetInvocationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetInvocationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getInvocationRequestDescriptor = + $convert.base64Decode('ChRHZXRJbnZvY2F0aW9uUmVxdWVzdBIXCgRuYW1lGAEgASgJQgPgQQJSBG5hbWU='); + +@$core.Deprecated('Use getTestResultRequestDescriptor instead') +const GetTestResultRequest$json = { + '1': 'GetTestResultRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetTestResultRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getTestResultRequestDescriptor = + $convert.base64Decode('ChRHZXRUZXN0UmVzdWx0UmVxdWVzdBIXCgRuYW1lGAEgASgJQgPgQQJSBG5hbWU='); + +@$core.Deprecated('Use listTestResultsRequestDescriptor instead') +const ListTestResultsRequest$json = { + '1': 'ListTestResultsRequest', + '2': [ + {'1': 'invocation', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'invocation'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'read_mask', '3': 4, '4': 1, '5': 11, '6': '.google.protobuf.FieldMask', '10': 'readMask'}, + ], +}; + +/// Descriptor for `ListTestResultsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listTestResultsRequestDescriptor = + $convert.base64Decode('ChZMaXN0VGVzdFJlc3VsdHNSZXF1ZXN0EiMKCmludm9jYXRpb24YASABKAlCA+BBAlIKaW52b2' + 'NhdGlvbhIbCglwYWdlX3NpemUYAiABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG9rZW4YAyABKAlS' + 'CXBhZ2VUb2tlbhI3CglyZWFkX21hc2sYBCABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYX' + 'NrUghyZWFkTWFzaw=='); + +@$core.Deprecated('Use listTestResultsResponseDescriptor instead') +const ListTestResultsResponse$json = { + '1': 'ListTestResultsResponse', + '2': [ + {'1': 'test_results', '3': 1, '4': 3, '5': 11, '6': '.luci.resultdb.v1.TestResult', '10': 'testResults'}, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListTestResultsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listTestResultsResponseDescriptor = + $convert.base64Decode('ChdMaXN0VGVzdFJlc3VsdHNSZXNwb25zZRI/Cgx0ZXN0X3Jlc3VsdHMYASADKAsyHC5sdWNpLn' + 'Jlc3VsdGRiLnYxLlRlc3RSZXN1bHRSC3Rlc3RSZXN1bHRzEiYKD25leHRfcGFnZV90b2tlbhgC' + 'IAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getTestExonerationRequestDescriptor instead') +const GetTestExonerationRequest$json = { + '1': 'GetTestExonerationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetTestExonerationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getTestExonerationRequestDescriptor = + $convert.base64Decode('ChlHZXRUZXN0RXhvbmVyYXRpb25SZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWU='); + +@$core.Deprecated('Use listTestExonerationsRequestDescriptor instead') +const ListTestExonerationsRequest$json = { + '1': 'ListTestExonerationsRequest', + '2': [ + {'1': 'invocation', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'invocation'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListTestExonerationsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listTestExonerationsRequestDescriptor = + $convert.base64Decode('ChtMaXN0VGVzdEV4b25lcmF0aW9uc1JlcXVlc3QSIwoKaW52b2NhdGlvbhgBIAEoCUID4EECUg' + 'ppbnZvY2F0aW9uEhsKCXBhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgD' + 'IAEoCVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listTestExonerationsResponseDescriptor instead') +const ListTestExonerationsResponse$json = { + '1': 'ListTestExonerationsResponse', + '2': [ + { + '1': 'test_exonerations', + '3': 1, + '4': 3, + '5': 11, + '6': '.luci.resultdb.v1.TestExoneration', + '10': 'testExonerations' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListTestExonerationsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listTestExonerationsResponseDescriptor = + $convert.base64Decode('ChxMaXN0VGVzdEV4b25lcmF0aW9uc1Jlc3BvbnNlEk4KEXRlc3RfZXhvbmVyYXRpb25zGAEgAy' + 'gLMiEubHVjaS5yZXN1bHRkYi52MS5UZXN0RXhvbmVyYXRpb25SEHRlc3RFeG9uZXJhdGlvbnMS' + 'JgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use queryTestResultsRequestDescriptor instead') +const QueryTestResultsRequest$json = { + '1': 'QueryTestResultsRequest', + '2': [ + {'1': 'invocations', '3': 1, '4': 3, '5': 9, '10': 'invocations'}, + {'1': 'predicate', '3': 2, '4': 1, '5': 11, '6': '.luci.resultdb.v1.TestResultPredicate', '10': 'predicate'}, + {'1': 'page_size', '3': 4, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 5, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'read_mask', '3': 6, '4': 1, '5': 11, '6': '.google.protobuf.FieldMask', '10': 'readMask'}, + ], +}; + +/// Descriptor for `QueryTestResultsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestResultsRequestDescriptor = + $convert.base64Decode('ChdRdWVyeVRlc3RSZXN1bHRzUmVxdWVzdBIgCgtpbnZvY2F0aW9ucxgBIAMoCVILaW52b2NhdG' + 'lvbnMSQwoJcHJlZGljYXRlGAIgASgLMiUubHVjaS5yZXN1bHRkYi52MS5UZXN0UmVzdWx0UHJl' + 'ZGljYXRlUglwcmVkaWNhdGUSGwoJcGFnZV9zaXplGAQgASgFUghwYWdlU2l6ZRIdCgpwYWdlX3' + 'Rva2VuGAUgASgJUglwYWdlVG9rZW4SNwoJcmVhZF9tYXNrGAYgASgLMhouZ29vZ2xlLnByb3Rv' + 'YnVmLkZpZWxkTWFza1IIcmVhZE1hc2s='); + +@$core.Deprecated('Use queryTestResultsResponseDescriptor instead') +const QueryTestResultsResponse$json = { + '1': 'QueryTestResultsResponse', + '2': [ + {'1': 'test_results', '3': 1, '4': 3, '5': 11, '6': '.luci.resultdb.v1.TestResult', '10': 'testResults'}, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `QueryTestResultsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestResultsResponseDescriptor = + $convert.base64Decode('ChhRdWVyeVRlc3RSZXN1bHRzUmVzcG9uc2USPwoMdGVzdF9yZXN1bHRzGAEgAygLMhwubHVjaS' + '5yZXN1bHRkYi52MS5UZXN0UmVzdWx0Ugt0ZXN0UmVzdWx0cxImCg9uZXh0X3BhZ2VfdG9rZW4Y' + 'AiABKAlSDW5leHRQYWdlVG9rZW4='); + +@$core.Deprecated('Use queryTestExonerationsRequestDescriptor instead') +const QueryTestExonerationsRequest$json = { + '1': 'QueryTestExonerationsRequest', + '2': [ + {'1': 'invocations', '3': 1, '4': 3, '5': 9, '10': 'invocations'}, + { + '1': 'predicate', + '3': 2, + '4': 1, + '5': 11, + '6': '.luci.resultdb.v1.TestExonerationPredicate', + '8': {}, + '10': 'predicate' + }, + {'1': 'page_size', '3': 4, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 5, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `QueryTestExonerationsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestExonerationsRequestDescriptor = + $convert.base64Decode('ChxRdWVyeVRlc3RFeG9uZXJhdGlvbnNSZXF1ZXN0EiAKC2ludm9jYXRpb25zGAEgAygJUgtpbn' + 'ZvY2F0aW9ucxJNCglwcmVkaWNhdGUYAiABKAsyKi5sdWNpLnJlc3VsdGRiLnYxLlRlc3RFeG9u' + 'ZXJhdGlvblByZWRpY2F0ZUID4EECUglwcmVkaWNhdGUSGwoJcGFnZV9zaXplGAQgASgFUghwYW' + 'dlU2l6ZRIdCgpwYWdlX3Rva2VuGAUgASgJUglwYWdlVG9rZW4='); + +@$core.Deprecated('Use queryTestExonerationsResponseDescriptor instead') +const QueryTestExonerationsResponse$json = { + '1': 'QueryTestExonerationsResponse', + '2': [ + { + '1': 'test_exonerations', + '3': 1, + '4': 3, + '5': 11, + '6': '.luci.resultdb.v1.TestExoneration', + '10': 'testExonerations' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `QueryTestExonerationsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestExonerationsResponseDescriptor = + $convert.base64Decode('Ch1RdWVyeVRlc3RFeG9uZXJhdGlvbnNSZXNwb25zZRJOChF0ZXN0X2V4b25lcmF0aW9ucxgBIA' + 'MoCzIhLmx1Y2kucmVzdWx0ZGIudjEuVGVzdEV4b25lcmF0aW9uUhB0ZXN0RXhvbmVyYXRpb25z' + 'EiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use queryTestResultStatisticsRequestDescriptor instead') +const QueryTestResultStatisticsRequest$json = { + '1': 'QueryTestResultStatisticsRequest', + '2': [ + {'1': 'invocations', '3': 1, '4': 3, '5': 9, '10': 'invocations'}, + ], +}; + +/// Descriptor for `QueryTestResultStatisticsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestResultStatisticsRequestDescriptor = + $convert.base64Decode('CiBRdWVyeVRlc3RSZXN1bHRTdGF0aXN0aWNzUmVxdWVzdBIgCgtpbnZvY2F0aW9ucxgBIAMoCV' + 'ILaW52b2NhdGlvbnM='); + +@$core.Deprecated('Use queryTestResultStatisticsResponseDescriptor instead') +const QueryTestResultStatisticsResponse$json = { + '1': 'QueryTestResultStatisticsResponse', + '2': [ + {'1': 'total_test_results', '3': 1, '4': 1, '5': 3, '10': 'totalTestResults'}, + ], +}; + +/// Descriptor for `QueryTestResultStatisticsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestResultStatisticsResponseDescriptor = + $convert.base64Decode('CiFRdWVyeVRlc3RSZXN1bHRTdGF0aXN0aWNzUmVzcG9uc2USLAoSdG90YWxfdGVzdF9yZXN1bH' + 'RzGAEgASgDUhB0b3RhbFRlc3RSZXN1bHRz'); + +@$core.Deprecated('Use getArtifactRequestDescriptor instead') +const GetArtifactRequest$json = { + '1': 'GetArtifactRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetArtifactRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getArtifactRequestDescriptor = + $convert.base64Decode('ChJHZXRBcnRpZmFjdFJlcXVlc3QSFwoEbmFtZRgBIAEoCUID4EECUgRuYW1l'); + +@$core.Deprecated('Use listArtifactsRequestDescriptor instead') +const ListArtifactsRequest$json = { + '1': 'ListArtifactsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListArtifactsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listArtifactsRequestDescriptor = + $convert.base64Decode('ChRMaXN0QXJ0aWZhY3RzUmVxdWVzdBIbCgZwYXJlbnQYASABKAlCA+BBAlIGcGFyZW50EhsKCX' + 'BhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listArtifactsResponseDescriptor instead') +const ListArtifactsResponse$json = { + '1': 'ListArtifactsResponse', + '2': [ + {'1': 'artifacts', '3': 1, '4': 3, '5': 11, '6': '.luci.resultdb.v1.Artifact', '10': 'artifacts'}, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListArtifactsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listArtifactsResponseDescriptor = + $convert.base64Decode('ChVMaXN0QXJ0aWZhY3RzUmVzcG9uc2USOAoJYXJ0aWZhY3RzGAEgAygLMhoubHVjaS5yZXN1bH' + 'RkYi52MS5BcnRpZmFjdFIJYXJ0aWZhY3RzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4' + 'dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use queryArtifactsRequestDescriptor instead') +const QueryArtifactsRequest$json = { + '1': 'QueryArtifactsRequest', + '2': [ + {'1': 'invocations', '3': 1, '4': 3, '5': 9, '10': 'invocations'}, + {'1': 'predicate', '3': 2, '4': 1, '5': 11, '6': '.luci.resultdb.v1.ArtifactPredicate', '10': 'predicate'}, + {'1': 'page_size', '3': 4, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 5, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `QueryArtifactsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryArtifactsRequestDescriptor = + $convert.base64Decode('ChVRdWVyeUFydGlmYWN0c1JlcXVlc3QSIAoLaW52b2NhdGlvbnMYASADKAlSC2ludm9jYXRpb2' + '5zEkEKCXByZWRpY2F0ZRgCIAEoCzIjLmx1Y2kucmVzdWx0ZGIudjEuQXJ0aWZhY3RQcmVkaWNh' + 'dGVSCXByZWRpY2F0ZRIbCglwYWdlX3NpemUYBCABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG9rZW' + '4YBSABKAlSCXBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use queryArtifactsResponseDescriptor instead') +const QueryArtifactsResponse$json = { + '1': 'QueryArtifactsResponse', + '2': [ + {'1': 'artifacts', '3': 1, '4': 3, '5': 11, '6': '.luci.resultdb.v1.Artifact', '10': 'artifacts'}, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `QueryArtifactsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryArtifactsResponseDescriptor = + $convert.base64Decode('ChZRdWVyeUFydGlmYWN0c1Jlc3BvbnNlEjgKCWFydGlmYWN0cxgBIAMoCzIaLmx1Y2kucmVzdW' + 'x0ZGIudjEuQXJ0aWZhY3RSCWFydGlmYWN0cxImCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlSDW5l' + 'eHRQYWdlVG9rZW4='); + +@$core.Deprecated('Use queryTestVariantsRequestDescriptor instead') +const QueryTestVariantsRequest$json = { + '1': 'QueryTestVariantsRequest', + '2': [ + {'1': 'invocations', '3': 2, '4': 3, '5': 9, '10': 'invocations'}, + {'1': 'predicate', '3': 6, '4': 1, '5': 11, '6': '.luci.resultdb.v1.TestVariantPredicate', '10': 'predicate'}, + {'1': 'result_limit', '3': 8, '4': 1, '5': 5, '10': 'resultLimit'}, + {'1': 'page_size', '3': 4, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 5, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'read_mask', '3': 7, '4': 1, '5': 11, '6': '.google.protobuf.FieldMask', '10': 'readMask'}, + ], +}; + +/// Descriptor for `QueryTestVariantsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestVariantsRequestDescriptor = + $convert.base64Decode('ChhRdWVyeVRlc3RWYXJpYW50c1JlcXVlc3QSIAoLaW52b2NhdGlvbnMYAiADKAlSC2ludm9jYX' + 'Rpb25zEkQKCXByZWRpY2F0ZRgGIAEoCzImLmx1Y2kucmVzdWx0ZGIudjEuVGVzdFZhcmlhbnRQ' + 'cmVkaWNhdGVSCXByZWRpY2F0ZRIhCgxyZXN1bHRfbGltaXQYCCABKAVSC3Jlc3VsdExpbWl0Eh' + 'sKCXBhZ2Vfc2l6ZRgEIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgFIAEoCVIJcGFnZVRv' + 'a2VuEjcKCXJlYWRfbWFzaxgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSCHJlYW' + 'RNYXNr'); + +@$core.Deprecated('Use queryTestVariantsResponseDescriptor instead') +const QueryTestVariantsResponse$json = { + '1': 'QueryTestVariantsResponse', + '2': [ + {'1': 'test_variants', '3': 1, '4': 3, '5': 11, '6': '.luci.resultdb.v1.TestVariant', '10': 'testVariants'}, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + { + '1': 'sources', + '3': 3, + '4': 3, + '5': 11, + '6': '.luci.resultdb.v1.QueryTestVariantsResponse.SourcesEntry', + '10': 'sources' + }, + ], + '3': [QueryTestVariantsResponse_SourcesEntry$json], +}; + +@$core.Deprecated('Use queryTestVariantsResponseDescriptor instead') +const QueryTestVariantsResponse_SourcesEntry$json = { + '1': 'SourcesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.luci.resultdb.v1.Sources', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `QueryTestVariantsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestVariantsResponseDescriptor = + $convert.base64Decode('ChlRdWVyeVRlc3RWYXJpYW50c1Jlc3BvbnNlEkIKDXRlc3RfdmFyaWFudHMYASADKAsyHS5sdW' + 'NpLnJlc3VsdGRiLnYxLlRlc3RWYXJpYW50Ugx0ZXN0VmFyaWFudHMSJgoPbmV4dF9wYWdlX3Rv' + 'a2VuGAIgASgJUg1uZXh0UGFnZVRva2VuElIKB3NvdXJjZXMYAyADKAsyOC5sdWNpLnJlc3VsdG' + 'RiLnYxLlF1ZXJ5VGVzdFZhcmlhbnRzUmVzcG9uc2UuU291cmNlc0VudHJ5Ugdzb3VyY2VzGlUK' + 'DFNvdXJjZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIvCgV2YWx1ZRgCIAEoCzIZLmx1Y2kucm' + 'VzdWx0ZGIudjEuU291cmNlc1IFdmFsdWU6AjgB'); + +@$core.Deprecated('Use batchGetTestVariantsRequestDescriptor instead') +const BatchGetTestVariantsRequest$json = { + '1': 'BatchGetTestVariantsRequest', + '2': [ + {'1': 'invocation', '3': 1, '4': 1, '5': 9, '10': 'invocation'}, + { + '1': 'test_variants', + '3': 2, + '4': 3, + '5': 11, + '6': '.luci.resultdb.v1.BatchGetTestVariantsRequest.TestVariantIdentifier', + '10': 'testVariants' + }, + {'1': 'result_limit', '3': 3, '4': 1, '5': 5, '10': 'resultLimit'}, + ], + '3': [BatchGetTestVariantsRequest_TestVariantIdentifier$json], +}; + +@$core.Deprecated('Use batchGetTestVariantsRequestDescriptor instead') +const BatchGetTestVariantsRequest_TestVariantIdentifier$json = { + '1': 'TestVariantIdentifier', + '2': [ + {'1': 'test_id', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'testId'}, + {'1': 'variant_hash', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'variantHash'}, + ], +}; + +/// Descriptor for `BatchGetTestVariantsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchGetTestVariantsRequestDescriptor = + $convert.base64Decode('ChtCYXRjaEdldFRlc3RWYXJpYW50c1JlcXVlc3QSHgoKaW52b2NhdGlvbhgBIAEoCVIKaW52b2' + 'NhdGlvbhJoCg10ZXN0X3ZhcmlhbnRzGAIgAygLMkMubHVjaS5yZXN1bHRkYi52MS5CYXRjaEdl' + 'dFRlc3RWYXJpYW50c1JlcXVlc3QuVGVzdFZhcmlhbnRJZGVudGlmaWVyUgx0ZXN0VmFyaWFudH' + 'MSIQoMcmVzdWx0X2xpbWl0GAMgASgFUgtyZXN1bHRMaW1pdBpdChVUZXN0VmFyaWFudElkZW50' + 'aWZpZXISHAoHdGVzdF9pZBgBIAEoCUID4EECUgZ0ZXN0SWQSJgoMdmFyaWFudF9oYXNoGAIgAS' + 'gJQgPgQQJSC3ZhcmlhbnRIYXNo'); + +@$core.Deprecated('Use batchGetTestVariantsResponseDescriptor instead') +const BatchGetTestVariantsResponse$json = { + '1': 'BatchGetTestVariantsResponse', + '2': [ + {'1': 'test_variants', '3': 1, '4': 3, '5': 11, '6': '.luci.resultdb.v1.TestVariant', '10': 'testVariants'}, + { + '1': 'sources', + '3': 2, + '4': 3, + '5': 11, + '6': '.luci.resultdb.v1.BatchGetTestVariantsResponse.SourcesEntry', + '10': 'sources' + }, + ], + '3': [BatchGetTestVariantsResponse_SourcesEntry$json], +}; + +@$core.Deprecated('Use batchGetTestVariantsResponseDescriptor instead') +const BatchGetTestVariantsResponse_SourcesEntry$json = { + '1': 'SourcesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.luci.resultdb.v1.Sources', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `BatchGetTestVariantsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchGetTestVariantsResponseDescriptor = + $convert.base64Decode('ChxCYXRjaEdldFRlc3RWYXJpYW50c1Jlc3BvbnNlEkIKDXRlc3RfdmFyaWFudHMYASADKAsyHS' + '5sdWNpLnJlc3VsdGRiLnYxLlRlc3RWYXJpYW50Ugx0ZXN0VmFyaWFudHMSVQoHc291cmNlcxgC' + 'IAMoCzI7Lmx1Y2kucmVzdWx0ZGIudjEuQmF0Y2hHZXRUZXN0VmFyaWFudHNSZXNwb25zZS5Tb3' + 'VyY2VzRW50cnlSB3NvdXJjZXMaVQoMU291cmNlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ei8K' + 'BXZhbHVlGAIgASgLMhkubHVjaS5yZXN1bHRkYi52MS5Tb3VyY2VzUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use queryTestMetadataRequestDescriptor instead') +const QueryTestMetadataRequest$json = { + '1': 'QueryTestMetadataRequest', + '2': [ + {'1': 'project', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'project'}, + {'1': 'predicate', '3': 2, '4': 1, '5': 11, '6': '.luci.resultdb.v1.TestMetadataPredicate', '10': 'predicate'}, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 4, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `QueryTestMetadataRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestMetadataRequestDescriptor = + $convert.base64Decode('ChhRdWVyeVRlc3RNZXRhZGF0YVJlcXVlc3QSHQoHcHJvamVjdBgBIAEoCUID4EECUgdwcm9qZW' + 'N0EkUKCXByZWRpY2F0ZRgCIAEoCzInLmx1Y2kucmVzdWx0ZGIudjEuVGVzdE1ldGFkYXRhUHJl' + 'ZGljYXRlUglwcmVkaWNhdGUSGwoJcGFnZV9zaXplGAMgASgFUghwYWdlU2l6ZRIdCgpwYWdlX3' + 'Rva2VuGAQgASgJUglwYWdlVG9rZW4='); + +@$core.Deprecated('Use queryTestMetadataResponseDescriptor instead') +const QueryTestMetadataResponse$json = { + '1': 'QueryTestMetadataResponse', + '2': [ + {'1': 'testMetadata', '3': 1, '4': 3, '5': 11, '6': '.luci.resultdb.v1.TestMetadataDetail', '10': 'testMetadata'}, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `QueryTestMetadataResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestMetadataResponseDescriptor = + $convert.base64Decode('ChlRdWVyeVRlc3RNZXRhZGF0YVJlc3BvbnNlEkgKDHRlc3RNZXRhZGF0YRgBIAMoCzIkLmx1Y2' + 'kucmVzdWx0ZGIudjEuVGVzdE1ldGFkYXRhRGV0YWlsUgx0ZXN0TWV0YWRhdGESJgoPbmV4dF9w' + 'YWdlX3Rva2VuGAIgASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use queryNewTestVariantsRequestDescriptor instead') +const QueryNewTestVariantsRequest$json = { + '1': 'QueryNewTestVariantsRequest', + '2': [ + {'1': 'invocation', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'invocation'}, + {'1': 'baseline', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'baseline'}, + ], +}; + +/// Descriptor for `QueryNewTestVariantsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryNewTestVariantsRequestDescriptor = + $convert.base64Decode('ChtRdWVyeU5ld1Rlc3RWYXJpYW50c1JlcXVlc3QSIwoKaW52b2NhdGlvbhgBIAEoCUID4EECUg' + 'ppbnZvY2F0aW9uEh8KCGJhc2VsaW5lGAIgASgJQgPgQQJSCGJhc2VsaW5l'); + +@$core.Deprecated('Use queryNewTestVariantsResponseDescriptor instead') +const QueryNewTestVariantsResponse$json = { + '1': 'QueryNewTestVariantsResponse', + '2': [ + {'1': 'is_baseline_ready', '3': 1, '4': 1, '5': 8, '10': 'isBaselineReady'}, + { + '1': 'new_test_variants', + '3': 2, + '4': 3, + '5': 11, + '6': '.luci.resultdb.v1.QueryNewTestVariantsResponse.NewTestVariant', + '10': 'newTestVariants' + }, + ], + '3': [QueryNewTestVariantsResponse_NewTestVariant$json], +}; + +@$core.Deprecated('Use queryNewTestVariantsResponseDescriptor instead') +const QueryNewTestVariantsResponse_NewTestVariant$json = { + '1': 'NewTestVariant', + '2': [ + {'1': 'test_id', '3': 1, '4': 1, '5': 9, '10': 'testId'}, + {'1': 'variant_hash', '3': 2, '4': 1, '5': 9, '10': 'variantHash'}, + ], +}; + +/// Descriptor for `QueryNewTestVariantsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryNewTestVariantsResponseDescriptor = + $convert.base64Decode('ChxRdWVyeU5ld1Rlc3RWYXJpYW50c1Jlc3BvbnNlEioKEWlzX2Jhc2VsaW5lX3JlYWR5GAEgAS' + 'gIUg9pc0Jhc2VsaW5lUmVhZHkSaQoRbmV3X3Rlc3RfdmFyaWFudHMYAiADKAsyPS5sdWNpLnJl' + 'c3VsdGRiLnYxLlF1ZXJ5TmV3VGVzdFZhcmlhbnRzUmVzcG9uc2UuTmV3VGVzdFZhcmlhbnRSD2' + '5ld1Rlc3RWYXJpYW50cxpMCg5OZXdUZXN0VmFyaWFudBIXCgd0ZXN0X2lkGAEgASgJUgZ0ZXN0' + 'SWQSIQoMdmFyaWFudF9oYXNoGAIgASgJUgt2YXJpYW50SGFzaA=='); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pb.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pb.dart new file mode 100644 index 000000000..ab4cd42bd --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pb.dart @@ -0,0 +1,656 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/test_metadata.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../../../google/protobuf/struct.pb.dart' as $1; +import 'common.pb.dart' as $0; + +/// Information about a test metadata. +class TestMetadataDetail extends $pb.GeneratedMessage { + factory TestMetadataDetail({ + $core.String? name, + $core.String? project, + $core.String? testId, + $0.SourceRef? sourceRef, + TestMetadata? testMetadata, + $core.String? refHash, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (project != null) { + $result.project = project; + } + if (testId != null) { + $result.testId = testId; + } + if (sourceRef != null) { + $result.sourceRef = sourceRef; + } + if (testMetadata != null) { + $result.testMetadata = testMetadata; + } + if (refHash != null) { + $result.refHash = refHash; + } + return $result; + } + TestMetadataDetail._() : super(); + factory TestMetadataDetail.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestMetadataDetail.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TestMetadataDetail', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'project') + ..aOS(3, _omitFieldNames ? '' : 'testId') + ..aOM<$0.SourceRef>(4, _omitFieldNames ? '' : 'sourceRef', subBuilder: $0.SourceRef.create) + ..aOM(5, _omitFieldNames ? '' : 'testMetadata', + protoName: 'testMetadata', subBuilder: TestMetadata.create) + ..aOS(12, _omitFieldNames ? '' : 'refHash') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestMetadataDetail clone() => TestMetadataDetail()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestMetadataDetail copyWith(void Function(TestMetadataDetail) updates) => + super.copyWith((message) => updates(message as TestMetadataDetail)) as TestMetadataDetail; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestMetadataDetail create() => TestMetadataDetail._(); + TestMetadataDetail createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestMetadataDetail getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TestMetadataDetail? _defaultInstance; + + /// Can be used to refer to a test metadata, e.g. in ResultDB.QueryTestMetadata + /// RPC. + /// Format: + /// "projects/{PROJECT}/refs/{REF_HASH}/tests/{URL_ESCAPED_TEST_ID}". + /// where URL_ESCAPED_TEST_ID is test_id escaped with + /// https://golang.org/pkg/net/url/#PathEscape. See also https://aip.dev/122. + /// + /// Output only. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The LUCI project. + @$pb.TagNumber(2) + $core.String get project => $_getSZ(1); + @$pb.TagNumber(2) + set project($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasProject() => $_has(1); + @$pb.TagNumber(2) + void clearProject() => clearField(2); + + /// A unique identifier of a test in a LUCI project. + /// Refer to TestResult.test_id for details. + @$pb.TagNumber(3) + $core.String get testId => $_getSZ(2); + @$pb.TagNumber(3) + set testId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasTestId() => $_has(2); + @$pb.TagNumber(3) + void clearTestId() => clearField(3); + + /// A reference in the source control system where the test metadata comes from. + @$pb.TagNumber(4) + $0.SourceRef get sourceRef => $_getN(3); + @$pb.TagNumber(4) + set sourceRef($0.SourceRef v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasSourceRef() => $_has(3); + @$pb.TagNumber(4) + void clearSourceRef() => clearField(4); + @$pb.TagNumber(4) + $0.SourceRef ensureSourceRef() => $_ensure(3); + + /// Test metadata content. + @$pb.TagNumber(5) + TestMetadata get testMetadata => $_getN(4); + @$pb.TagNumber(5) + set testMetadata(TestMetadata v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasTestMetadata() => $_has(4); + @$pb.TagNumber(5) + void clearTestMetadata() => clearField(5); + @$pb.TagNumber(5) + TestMetadata ensureTestMetadata() => $_ensure(4); + + /// Hexadecimal encoded hash string of the source_ref. + /// A given source_ref always hashes to the same ref_hash value. + @$pb.TagNumber(12) + $core.String get refHash => $_getSZ(5); + @$pb.TagNumber(12) + set refHash($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(12) + $core.bool hasRefHash() => $_has(5); + @$pb.TagNumber(12) + void clearRefHash() => clearField(12); +} + +/// Information about a test. +class TestMetadata extends $pb.GeneratedMessage { + factory TestMetadata({ + $core.String? name, + TestLocation? location, + BugComponent? bugComponent, + $core.String? propertiesSchema, + $1.Struct? properties, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (location != null) { + $result.location = location; + } + if (bugComponent != null) { + $result.bugComponent = bugComponent; + } + if (propertiesSchema != null) { + $result.propertiesSchema = propertiesSchema; + } + if (properties != null) { + $result.properties = properties; + } + return $result; + } + TestMetadata._() : super(); + factory TestMetadata.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestMetadata.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TestMetadata', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'location', subBuilder: TestLocation.create) + ..aOM(3, _omitFieldNames ? '' : 'bugComponent', subBuilder: BugComponent.create) + ..aOS(4, _omitFieldNames ? '' : 'propertiesSchema') + ..aOM<$1.Struct>(5, _omitFieldNames ? '' : 'properties', subBuilder: $1.Struct.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestMetadata clone() => TestMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestMetadata copyWith(void Function(TestMetadata) updates) => + super.copyWith((message) => updates(message as TestMetadata)) as TestMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestMetadata create() => TestMetadata._(); + TestMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestMetadata getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TestMetadata? _defaultInstance; + + /// The original test name. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Where the test is defined, e.g. the file name. + /// location.repo MUST be specified. + @$pb.TagNumber(2) + TestLocation get location => $_getN(1); + @$pb.TagNumber(2) + set location(TestLocation v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasLocation() => $_has(1); + @$pb.TagNumber(2) + void clearLocation() => clearField(2); + @$pb.TagNumber(2) + TestLocation ensureLocation() => $_ensure(1); + + /// The issue tracker component associated with the test, if any. + /// Bugs related to the test may be filed here. + @$pb.TagNumber(3) + BugComponent get bugComponent => $_getN(2); + @$pb.TagNumber(3) + set bugComponent(BugComponent v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasBugComponent() => $_has(2); + @$pb.TagNumber(3) + void clearBugComponent() => clearField(3); + @$pb.TagNumber(3) + BugComponent ensureBugComponent() => $_ensure(2); + + /// Identifies the schema of the JSON object in the properties field. + /// Use the fully-qualified name of the source protocol buffer. + /// eg. chromiumos.test.api.TestCaseInfo + /// ResultDB will *not* validate the properties field with respect to this + /// schema. Downstream systems may however use this field to inform how the + /// properties field is interpreted. + @$pb.TagNumber(4) + $core.String get propertiesSchema => $_getSZ(3); + @$pb.TagNumber(4) + set propertiesSchema($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasPropertiesSchema() => $_has(3); + @$pb.TagNumber(4) + void clearPropertiesSchema() => clearField(4); + + /// Arbitrary JSON object that contains structured, domain-specific properties + /// of the test. + /// + /// The serialized size must be <= 4096 bytes. + /// + /// If this field is specified, properties_schema must also be specified. + @$pb.TagNumber(5) + $1.Struct get properties => $_getN(4); + @$pb.TagNumber(5) + set properties($1.Struct v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasProperties() => $_has(4); + @$pb.TagNumber(5) + void clearProperties() => clearField(5); + @$pb.TagNumber(5) + $1.Struct ensureProperties() => $_ensure(4); +} + +/// Location of the test definition. +class TestLocation extends $pb.GeneratedMessage { + factory TestLocation({ + $core.String? repo, + $core.String? fileName, + $core.int? line, + }) { + final $result = create(); + if (repo != null) { + $result.repo = repo; + } + if (fileName != null) { + $result.fileName = fileName; + } + if (line != null) { + $result.line = line; + } + return $result; + } + TestLocation._() : super(); + factory TestLocation.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestLocation.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TestLocation', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'repo') + ..aOS(2, _omitFieldNames ? '' : 'fileName') + ..a<$core.int>(3, _omitFieldNames ? '' : 'line', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestLocation clone() => TestLocation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestLocation copyWith(void Function(TestLocation) updates) => + super.copyWith((message) => updates(message as TestLocation)) as TestLocation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestLocation create() => TestLocation._(); + TestLocation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestLocation getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TestLocation? _defaultInstance; + + /// Gitiles URL as the identifier for a repo. + /// Format for Gitiles URL: https:/// + /// For example "https://chromium.googlesource.com/chromium/src" + /// Must not end with ".git". + /// SHOULD be specified. + @$pb.TagNumber(1) + $core.String get repo => $_getSZ(0); + @$pb.TagNumber(1) + set repo($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasRepo() => $_has(0); + @$pb.TagNumber(1) + void clearRepo() => clearField(1); + + /// Name of the file where the test is defined. + /// For files in a repository, must start with "//" + /// Example: "//components/payments/core/payment_request_data_util_unittest.cc" + /// Max length: 512. + /// MUST not use backslashes. + /// Required. + @$pb.TagNumber(2) + $core.String get fileName => $_getSZ(1); + @$pb.TagNumber(2) + set fileName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasFileName() => $_has(1); + @$pb.TagNumber(2) + void clearFileName() => clearField(2); + + /// One-based line number where the test is defined. + @$pb.TagNumber(3) + $core.int get line => $_getIZ(2); + @$pb.TagNumber(3) + set line($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasLine() => $_has(2); + @$pb.TagNumber(3) + void clearLine() => clearField(3); +} + +enum BugComponent_System { issueTracker, monorail, notSet } + +/// Represents a component in an issue tracker. A component is +/// a container for issues. +class BugComponent extends $pb.GeneratedMessage { + factory BugComponent({ + IssueTrackerComponent? issueTracker, + MonorailComponent? monorail, + }) { + final $result = create(); + if (issueTracker != null) { + $result.issueTracker = issueTracker; + } + if (monorail != null) { + $result.monorail = monorail; + } + return $result; + } + BugComponent._() : super(); + factory BugComponent.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BugComponent.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, BugComponent_System> _BugComponent_SystemByTag = { + 1: BugComponent_System.issueTracker, + 2: BugComponent_System.monorail, + 0: BugComponent_System.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BugComponent', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'issueTracker', subBuilder: IssueTrackerComponent.create) + ..aOM(2, _omitFieldNames ? '' : 'monorail', subBuilder: MonorailComponent.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BugComponent clone() => BugComponent()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BugComponent copyWith(void Function(BugComponent) updates) => + super.copyWith((message) => updates(message as BugComponent)) as BugComponent; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BugComponent create() => BugComponent._(); + BugComponent createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BugComponent getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BugComponent? _defaultInstance; + + BugComponent_System whichSystem() => _BugComponent_SystemByTag[$_whichOneof(0)]!; + void clearSystem() => clearField($_whichOneof(0)); + + /// The Google Issue Tracker component. + @$pb.TagNumber(1) + IssueTrackerComponent get issueTracker => $_getN(0); + @$pb.TagNumber(1) + set issueTracker(IssueTrackerComponent v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasIssueTracker() => $_has(0); + @$pb.TagNumber(1) + void clearIssueTracker() => clearField(1); + @$pb.TagNumber(1) + IssueTrackerComponent ensureIssueTracker() => $_ensure(0); + + /// The monorail component. + @$pb.TagNumber(2) + MonorailComponent get monorail => $_getN(1); + @$pb.TagNumber(2) + set monorail(MonorailComponent v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasMonorail() => $_has(1); + @$pb.TagNumber(2) + void clearMonorail() => clearField(2); + @$pb.TagNumber(2) + MonorailComponent ensureMonorail() => $_ensure(1); +} + +/// A component in Google Issue Tracker, sometimes known as Buganizer, +/// available at https://issuetracker.google.com. +class IssueTrackerComponent extends $pb.GeneratedMessage { + factory IssueTrackerComponent({ + $fixnum.Int64? componentId, + }) { + final $result = create(); + if (componentId != null) { + $result.componentId = componentId; + } + return $result; + } + IssueTrackerComponent._() : super(); + factory IssueTrackerComponent.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory IssueTrackerComponent.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'IssueTrackerComponent', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'componentId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + IssueTrackerComponent clone() => IssueTrackerComponent()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + IssueTrackerComponent copyWith(void Function(IssueTrackerComponent) updates) => + super.copyWith((message) => updates(message as IssueTrackerComponent)) as IssueTrackerComponent; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static IssueTrackerComponent create() => IssueTrackerComponent._(); + IssueTrackerComponent createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static IssueTrackerComponent getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static IssueTrackerComponent? _defaultInstance; + + /// The Google Issue Tracker component ID. + @$pb.TagNumber(1) + $fixnum.Int64 get componentId => $_getI64(0); + @$pb.TagNumber(1) + set componentId($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasComponentId() => $_has(0); + @$pb.TagNumber(1) + void clearComponentId() => clearField(1); +} + +/// A component in monorail issue tracker, available at +/// https://bugs.chromium.org. +class MonorailComponent extends $pb.GeneratedMessage { + factory MonorailComponent({ + $core.String? project, + $core.String? value, + }) { + final $result = create(); + if (project != null) { + $result.project = project; + } + if (value != null) { + $result.value = value; + } + return $result; + } + MonorailComponent._() : super(); + factory MonorailComponent.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MonorailComponent.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'MonorailComponent', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'project') + ..aOS(2, _omitFieldNames ? '' : 'value') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MonorailComponent clone() => MonorailComponent()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MonorailComponent copyWith(void Function(MonorailComponent) updates) => + super.copyWith((message) => updates(message as MonorailComponent)) as MonorailComponent; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MonorailComponent create() => MonorailComponent._(); + MonorailComponent createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MonorailComponent getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static MonorailComponent? _defaultInstance; + + /// The monorail project name. + @$pb.TagNumber(1) + $core.String get project => $_getSZ(0); + @$pb.TagNumber(1) + set project($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProject() => $_has(0); + @$pb.TagNumber(1) + void clearProject() => clearField(1); + + /// The monorail component value. E.g. "Blink>Accessibility". + @$pb.TagNumber(2) + $core.String get value => $_getSZ(1); + @$pb.TagNumber(2) + set value($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pbenum.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pbenum.dart new file mode 100644 index 000000000..94d656400 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/test_metadata.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pbjson.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pbjson.dart new file mode 100644 index 000000000..078e3901f --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pbjson.dart @@ -0,0 +1,124 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/test_metadata.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use testMetadataDetailDescriptor instead') +const TestMetadataDetail$json = { + '1': 'TestMetadataDetail', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'project', '3': 2, '4': 1, '5': 9, '10': 'project'}, + {'1': 'test_id', '3': 3, '4': 1, '5': 9, '10': 'testId'}, + {'1': 'ref_hash', '3': 12, '4': 1, '5': 9, '10': 'refHash'}, + {'1': 'source_ref', '3': 4, '4': 1, '5': 11, '6': '.luci.resultdb.v1.SourceRef', '10': 'sourceRef'}, + {'1': 'testMetadata', '3': 5, '4': 1, '5': 11, '6': '.luci.resultdb.v1.TestMetadata', '10': 'testMetadata'}, + ], +}; + +/// Descriptor for `TestMetadataDetail`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testMetadataDetailDescriptor = + $convert.base64Decode('ChJUZXN0TWV0YWRhdGFEZXRhaWwSFwoEbmFtZRgBIAEoCUID4EEDUgRuYW1lEhgKB3Byb2plY3' + 'QYAiABKAlSB3Byb2plY3QSFwoHdGVzdF9pZBgDIAEoCVIGdGVzdElkEhkKCHJlZl9oYXNoGAwg' + 'ASgJUgdyZWZIYXNoEjoKCnNvdXJjZV9yZWYYBCABKAsyGy5sdWNpLnJlc3VsdGRiLnYxLlNvdX' + 'JjZVJlZlIJc291cmNlUmVmEkIKDHRlc3RNZXRhZGF0YRgFIAEoCzIeLmx1Y2kucmVzdWx0ZGIu' + 'djEuVGVzdE1ldGFkYXRhUgx0ZXN0TWV0YWRhdGE='); + +@$core.Deprecated('Use testMetadataDescriptor instead') +const TestMetadata$json = { + '1': 'TestMetadata', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'location', '3': 2, '4': 1, '5': 11, '6': '.luci.resultdb.v1.TestLocation', '10': 'location'}, + {'1': 'bug_component', '3': 3, '4': 1, '5': 11, '6': '.luci.resultdb.v1.BugComponent', '10': 'bugComponent'}, + {'1': 'properties_schema', '3': 4, '4': 1, '5': 9, '10': 'propertiesSchema'}, + {'1': 'properties', '3': 5, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'properties'}, + ], +}; + +/// Descriptor for `TestMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testMetadataDescriptor = + $convert.base64Decode('CgxUZXN0TWV0YWRhdGESEgoEbmFtZRgBIAEoCVIEbmFtZRI6Cghsb2NhdGlvbhgCIAEoCzIeLm' + 'x1Y2kucmVzdWx0ZGIudjEuVGVzdExvY2F0aW9uUghsb2NhdGlvbhJDCg1idWdfY29tcG9uZW50' + 'GAMgASgLMh4ubHVjaS5yZXN1bHRkYi52MS5CdWdDb21wb25lbnRSDGJ1Z0NvbXBvbmVudBIrCh' + 'Fwcm9wZXJ0aWVzX3NjaGVtYRgEIAEoCVIQcHJvcGVydGllc1NjaGVtYRI3Cgpwcm9wZXJ0aWVz' + 'GAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIKcHJvcGVydGllcw=='); + +@$core.Deprecated('Use testLocationDescriptor instead') +const TestLocation$json = { + '1': 'TestLocation', + '2': [ + {'1': 'repo', '3': 1, '4': 1, '5': 9, '10': 'repo'}, + {'1': 'file_name', '3': 2, '4': 1, '5': 9, '10': 'fileName'}, + {'1': 'line', '3': 3, '4': 1, '5': 5, '10': 'line'}, + ], +}; + +/// Descriptor for `TestLocation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testLocationDescriptor = + $convert.base64Decode('CgxUZXN0TG9jYXRpb24SEgoEcmVwbxgBIAEoCVIEcmVwbxIbCglmaWxlX25hbWUYAiABKAlSCG' + 'ZpbGVOYW1lEhIKBGxpbmUYAyABKAVSBGxpbmU='); + +@$core.Deprecated('Use bugComponentDescriptor instead') +const BugComponent$json = { + '1': 'BugComponent', + '2': [ + { + '1': 'issue_tracker', + '3': 1, + '4': 1, + '5': 11, + '6': '.luci.resultdb.v1.IssueTrackerComponent', + '9': 0, + '10': 'issueTracker' + }, + {'1': 'monorail', '3': 2, '4': 1, '5': 11, '6': '.luci.resultdb.v1.MonorailComponent', '9': 0, '10': 'monorail'}, + ], + '8': [ + {'1': 'system'}, + ], +}; + +/// Descriptor for `BugComponent`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bugComponentDescriptor = + $convert.base64Decode('CgxCdWdDb21wb25lbnQSTgoNaXNzdWVfdHJhY2tlchgBIAEoCzInLmx1Y2kucmVzdWx0ZGIudj' + 'EuSXNzdWVUcmFja2VyQ29tcG9uZW50SABSDGlzc3VlVHJhY2tlchJBCghtb25vcmFpbBgCIAEo' + 'CzIjLmx1Y2kucmVzdWx0ZGIudjEuTW9ub3JhaWxDb21wb25lbnRIAFIIbW9ub3JhaWxCCAoGc3' + 'lzdGVt'); + +@$core.Deprecated('Use issueTrackerComponentDescriptor instead') +const IssueTrackerComponent$json = { + '1': 'IssueTrackerComponent', + '2': [ + {'1': 'component_id', '3': 1, '4': 1, '5': 3, '10': 'componentId'}, + ], +}; + +/// Descriptor for `IssueTrackerComponent`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List issueTrackerComponentDescriptor = + $convert.base64Decode('ChVJc3N1ZVRyYWNrZXJDb21wb25lbnQSIQoMY29tcG9uZW50X2lkGAEgASgDUgtjb21wb25lbn' + 'RJZA=='); + +@$core.Deprecated('Use monorailComponentDescriptor instead') +const MonorailComponent$json = { + '1': 'MonorailComponent', + '2': [ + {'1': 'project', '3': 1, '4': 1, '5': 9, '10': 'project'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], +}; + +/// Descriptor for `MonorailComponent`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List monorailComponentDescriptor = + $convert.base64Decode('ChFNb25vcmFpbENvbXBvbmVudBIYCgdwcm9qZWN0GAEgASgJUgdwcm9qZWN0EhQKBXZhbHVlGA' + 'IgASgJUgV2YWx1ZQ=='); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pb.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pb.dart new file mode 100644 index 000000000..9c57d1458 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pb.dart @@ -0,0 +1,652 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/test_result.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../../../google/protobuf/duration.pb.dart' as $2; +import '../../../../../google/protobuf/struct.pb.dart' as $5; +import '../../../../../google/protobuf/timestamp.pb.dart' as $1; +import 'common.pb.dart' as $0; +import 'failure_reason.pb.dart' as $4; +import 'test_metadata.pb.dart' as $3; +import 'test_result.pbenum.dart'; + +export 'test_result.pbenum.dart'; + +/// A result of a functional test case. +/// Often a single test case is executed multiple times and has multiple results, +/// a single test suite has multiple test cases, +/// and the same test suite can be executed in different variants +/// (OS, GPU, compile flags, etc). +/// +/// This message does not specify the test id. +/// It should be available in the message that embeds this message. +/// +/// Next id: 17. +class TestResult extends $pb.GeneratedMessage { + factory TestResult({ + $core.String? name, + $core.String? testId, + $core.String? resultId, + $0.Variant? variant, + $core.bool? expected, + TestStatus? status, + $core.String? summaryHtml, + $1.Timestamp? startTime, + $2.Duration? duration, + $core.Iterable<$0.StringPair>? tags, + $core.String? variantHash, + $3.TestMetadata? testMetadata, + $4.FailureReason? failureReason, + $5.Struct? properties, + $core.bool? isMasked, + SkipReason? skipReason, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (testId != null) { + $result.testId = testId; + } + if (resultId != null) { + $result.resultId = resultId; + } + if (variant != null) { + $result.variant = variant; + } + if (expected != null) { + $result.expected = expected; + } + if (status != null) { + $result.status = status; + } + if (summaryHtml != null) { + $result.summaryHtml = summaryHtml; + } + if (startTime != null) { + $result.startTime = startTime; + } + if (duration != null) { + $result.duration = duration; + } + if (tags != null) { + $result.tags.addAll(tags); + } + if (variantHash != null) { + $result.variantHash = variantHash; + } + if (testMetadata != null) { + $result.testMetadata = testMetadata; + } + if (failureReason != null) { + $result.failureReason = failureReason; + } + if (properties != null) { + $result.properties = properties; + } + if (isMasked != null) { + $result.isMasked = isMasked; + } + if (skipReason != null) { + $result.skipReason = skipReason; + } + return $result; + } + TestResult._() : super(); + factory TestResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TestResult', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'testId') + ..aOS(3, _omitFieldNames ? '' : 'resultId') + ..aOM<$0.Variant>(4, _omitFieldNames ? '' : 'variant', subBuilder: $0.Variant.create) + ..aOB(5, _omitFieldNames ? '' : 'expected') + ..e(6, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE, + defaultOrMaker: TestStatus.STATUS_UNSPECIFIED, valueOf: TestStatus.valueOf, enumValues: TestStatus.values) + ..aOS(7, _omitFieldNames ? '' : 'summaryHtml') + ..aOM<$1.Timestamp>(8, _omitFieldNames ? '' : 'startTime', subBuilder: $1.Timestamp.create) + ..aOM<$2.Duration>(9, _omitFieldNames ? '' : 'duration', subBuilder: $2.Duration.create) + ..pc<$0.StringPair>(10, _omitFieldNames ? '' : 'tags', $pb.PbFieldType.PM, subBuilder: $0.StringPair.create) + ..aOS(12, _omitFieldNames ? '' : 'variantHash') + ..aOM<$3.TestMetadata>(13, _omitFieldNames ? '' : 'testMetadata', subBuilder: $3.TestMetadata.create) + ..aOM<$4.FailureReason>(14, _omitFieldNames ? '' : 'failureReason', subBuilder: $4.FailureReason.create) + ..aOM<$5.Struct>(15, _omitFieldNames ? '' : 'properties', subBuilder: $5.Struct.create) + ..aOB(16, _omitFieldNames ? '' : 'isMasked') + ..e(18, _omitFieldNames ? '' : 'skipReason', $pb.PbFieldType.OE, + defaultOrMaker: SkipReason.SKIP_REASON_UNSPECIFIED, valueOf: SkipReason.valueOf, enumValues: SkipReason.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestResult clone() => TestResult()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestResult copyWith(void Function(TestResult) updates) => + super.copyWith((message) => updates(message as TestResult)) as TestResult; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestResult create() => TestResult._(); + TestResult createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TestResult? _defaultInstance; + + /// Can be used to refer to this test result, e.g. in ResultDB.GetTestResult + /// RPC. + /// Format: + /// "invocations/{INVOCATION_ID}/tests/{URL_ESCAPED_TEST_ID}/results/{RESULT_ID}". + /// where URL_ESCAPED_TEST_ID is test_id escaped with + /// https://golang.org/pkg/net/url/#PathEscape See also https://aip.dev/122. + /// + /// Output only. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Test id, a unique identifier of the test in a LUCI project. + /// Regex: ^[[::print::]]{1,512}$ + /// + /// If two tests have a common test id prefix that ends with a + /// non-alphanumeric character, they considered a part of a group. Examples: + /// - "a/b/c" + /// - "a/b/d" + /// - "a/b/e:x" + /// - "a/b/e:y" + /// - "a/f" + /// This defines the following groups: + /// - All items belong to one group because of the common prefix "a/" + /// - Within that group, the first 4 form a sub-group because of the common + /// prefix "a/b/" + /// - Within that group, "a/b/e:x" and "a/b/e:y" form a sub-group because of + /// the common prefix "a/b/e:". + /// This can be used in UI. + /// LUCI does not interpret test ids in any other way. + @$pb.TagNumber(2) + $core.String get testId => $_getSZ(1); + @$pb.TagNumber(2) + set testId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTestId() => $_has(1); + @$pb.TagNumber(2) + void clearTestId() => clearField(2); + + /// Identifies a test result in a given invocation and test id. + /// Regex: ^[a-z0-9\-_.]{1,32}$ + @$pb.TagNumber(3) + $core.String get resultId => $_getSZ(2); + @$pb.TagNumber(3) + set resultId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasResultId() => $_has(2); + @$pb.TagNumber(3) + void clearResultId() => clearField(3); + + /// Description of one specific way of running the test, + /// e.g. a specific bucket, builder and a test suite. + @$pb.TagNumber(4) + $0.Variant get variant => $_getN(3); + @$pb.TagNumber(4) + set variant($0.Variant v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasVariant() => $_has(3); + @$pb.TagNumber(4) + void clearVariant() => clearField(4); + @$pb.TagNumber(4) + $0.Variant ensureVariant() => $_ensure(3); + + /// Whether the result of test case execution is expected. + /// In a typical Chromium CL, 99%+ of test results are expected. + /// Users are typically interested only in the unexpected results. + /// + /// An unexpected result != test case failure. There are test cases that are + /// expected to fail/skip/crash. The test harness compares the actual status + /// with the expected one(s) and this field is the result of the comparison. + @$pb.TagNumber(5) + $core.bool get expected => $_getBF(4); + @$pb.TagNumber(5) + set expected($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasExpected() => $_has(4); + @$pb.TagNumber(5) + void clearExpected() => clearField(5); + + /// Machine-readable status of the test case. + /// MUST NOT be STATUS_UNSPECIFIED. + @$pb.TagNumber(6) + TestStatus get status => $_getN(5); + @$pb.TagNumber(6) + set status(TestStatus v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasStatus() => $_has(5); + @$pb.TagNumber(6) + void clearStatus() => clearField(6); + + /// Human-readable explanation of the result, in HTML. + /// MUST be sanitized before rendering in the browser. + /// + /// The size of the summary must be equal to or smaller than 4096 bytes in + /// UTF-8. + /// + /// Supports artifact embedding using custom tags: + /// * renders contents of an artifact as text. + /// Usage: + /// * To embed result level artifact: + /// * To embed invocation level artifact: + @$pb.TagNumber(7) + $core.String get summaryHtml => $_getSZ(6); + @$pb.TagNumber(7) + set summaryHtml($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasSummaryHtml() => $_has(6); + @$pb.TagNumber(7) + void clearSummaryHtml() => clearField(7); + + /// The point in time when the test case started to execute. + @$pb.TagNumber(8) + $1.Timestamp get startTime => $_getN(7); + @$pb.TagNumber(8) + set startTime($1.Timestamp v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasStartTime() => $_has(7); + @$pb.TagNumber(8) + void clearStartTime() => clearField(8); + @$pb.TagNumber(8) + $1.Timestamp ensureStartTime() => $_ensure(7); + + /// Duration of the test case execution. + /// MUST be equal to or greater than 0. + @$pb.TagNumber(9) + $2.Duration get duration => $_getN(8); + @$pb.TagNumber(9) + set duration($2.Duration v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasDuration() => $_has(8); + @$pb.TagNumber(9) + void clearDuration() => clearField(9); + @$pb.TagNumber(9) + $2.Duration ensureDuration() => $_ensure(8); + + /// Metadata for this test result. + /// It might describe this particular execution or the test case. + /// A key can be repeated. + @$pb.TagNumber(10) + $core.List<$0.StringPair> get tags => $_getList(9); + + /// Hash of the variant. + /// hex(sha256(sorted(''.join('%s:%s\n' for k, v in variant.items())))). + /// + /// Output only. + @$pb.TagNumber(12) + $core.String get variantHash => $_getSZ(10); + @$pb.TagNumber(12) + set variantHash($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(12) + $core.bool hasVariantHash() => $_has(10); + @$pb.TagNumber(12) + void clearVariantHash() => clearField(12); + + /// Information about the test at the time of its execution. + @$pb.TagNumber(13) + $3.TestMetadata get testMetadata => $_getN(11); + @$pb.TagNumber(13) + set testMetadata($3.TestMetadata v) { + setField(13, v); + } + + @$pb.TagNumber(13) + $core.bool hasTestMetadata() => $_has(11); + @$pb.TagNumber(13) + void clearTestMetadata() => clearField(13); + @$pb.TagNumber(13) + $3.TestMetadata ensureTestMetadata() => $_ensure(11); + + /// Information about the test failure. Only present if the test failed. + @$pb.TagNumber(14) + $4.FailureReason get failureReason => $_getN(12); + @$pb.TagNumber(14) + set failureReason($4.FailureReason v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasFailureReason() => $_has(12); + @$pb.TagNumber(14) + void clearFailureReason() => clearField(14); + @$pb.TagNumber(14) + $4.FailureReason ensureFailureReason() => $_ensure(12); + + /// Arbitrary JSON object that contains structured, domain-specific properties + /// of the test result. + /// + /// The serialized size must be <= 4096 bytes. + @$pb.TagNumber(15) + $5.Struct get properties => $_getN(13); + @$pb.TagNumber(15) + set properties($5.Struct v) { + setField(15, v); + } + + @$pb.TagNumber(15) + $core.bool hasProperties() => $_has(13); + @$pb.TagNumber(15) + void clearProperties() => clearField(15); + @$pb.TagNumber(15) + $5.Struct ensureProperties() => $_ensure(13); + + /// Whether the test result has been masked so that it includes only metadata. + /// The metadata fields for a TestResult are: + /// * name + /// * test_id + /// * result_id + /// * expected + /// * status + /// * start_time + /// * duration + /// * variant_hash + /// * failure_reason.primary_error_message (truncated to 140 characters) + /// * skip_reason + /// + /// Output only. + @$pb.TagNumber(16) + $core.bool get isMasked => $_getBF(14); + @$pb.TagNumber(16) + set isMasked($core.bool v) { + $_setBool(14, v); + } + + @$pb.TagNumber(16) + $core.bool hasIsMasked() => $_has(14); + @$pb.TagNumber(16) + void clearIsMasked() => clearField(16); + + /// Reasoning behind a test skip, in machine-readable form. + /// Used to assist downstream analyses, such as automatic bug-filing. + /// MUST not be set unless status is SKIP. + @$pb.TagNumber(18) + SkipReason get skipReason => $_getN(15); + @$pb.TagNumber(18) + set skipReason(SkipReason v) { + setField(18, v); + } + + @$pb.TagNumber(18) + $core.bool hasSkipReason() => $_has(15); + @$pb.TagNumber(18) + void clearSkipReason() => clearField(18); +} + +/// Indicates the test subject (e.g. a CL) is absolved from blame +/// for an unexpected result of a test variant. +/// For example, the test variant fails both with and without CL, so it is not +/// CL's fault. +class TestExoneration extends $pb.GeneratedMessage { + factory TestExoneration({ + $core.String? name, + $core.String? testId, + $0.Variant? variant, + $core.String? exonerationId, + $core.String? explanationHtml, + $core.String? variantHash, + ExonerationReason? reason, + $core.bool? isMasked, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (testId != null) { + $result.testId = testId; + } + if (variant != null) { + $result.variant = variant; + } + if (exonerationId != null) { + $result.exonerationId = exonerationId; + } + if (explanationHtml != null) { + $result.explanationHtml = explanationHtml; + } + if (variantHash != null) { + $result.variantHash = variantHash; + } + if (reason != null) { + $result.reason = reason; + } + if (isMasked != null) { + $result.isMasked = isMasked; + } + return $result; + } + TestExoneration._() : super(); + factory TestExoneration.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestExoneration.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TestExoneration', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultdb.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'testId') + ..aOM<$0.Variant>(3, _omitFieldNames ? '' : 'variant', subBuilder: $0.Variant.create) + ..aOS(4, _omitFieldNames ? '' : 'exonerationId') + ..aOS(5, _omitFieldNames ? '' : 'explanationHtml') + ..aOS(6, _omitFieldNames ? '' : 'variantHash') + ..e(7, _omitFieldNames ? '' : 'reason', $pb.PbFieldType.OE, + defaultOrMaker: ExonerationReason.EXONERATION_REASON_UNSPECIFIED, + valueOf: ExonerationReason.valueOf, + enumValues: ExonerationReason.values) + ..aOB(8, _omitFieldNames ? '' : 'isMasked') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestExoneration clone() => TestExoneration()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestExoneration copyWith(void Function(TestExoneration) updates) => + super.copyWith((message) => updates(message as TestExoneration)) as TestExoneration; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestExoneration create() => TestExoneration._(); + TestExoneration createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestExoneration getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TestExoneration? _defaultInstance; + + /// Can be used to refer to this test exoneration, e.g. in + /// ResultDB.GetTestExoneration RPC. + /// Format: + /// invocations/{INVOCATION_ID}/tests/{URL_ESCAPED_TEST_ID}/exonerations/{EXONERATION_ID}. + /// URL_ESCAPED_TEST_ID is test_variant.test_id escaped with + /// https://golang.org/pkg/net/url/#PathEscape See also https://aip.dev/122. + /// + /// Output only. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Test identifier, see TestResult.test_id. + @$pb.TagNumber(2) + $core.String get testId => $_getSZ(1); + @$pb.TagNumber(2) + set testId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTestId() => $_has(1); + @$pb.TagNumber(2) + void clearTestId() => clearField(2); + + /// Description of the variant of the test, see Variant type. + /// Unlike TestResult.extra_variant_pairs, this one must be a full definition + /// of the variant, i.e. it is not combined with Invocation.base_test_variant. + @$pb.TagNumber(3) + $0.Variant get variant => $_getN(2); + @$pb.TagNumber(3) + set variant($0.Variant v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasVariant() => $_has(2); + @$pb.TagNumber(3) + void clearVariant() => clearField(3); + @$pb.TagNumber(3) + $0.Variant ensureVariant() => $_ensure(2); + + /// Identifies an exoneration in a given invocation and test id. + /// It is server-generated. + @$pb.TagNumber(4) + $core.String get exonerationId => $_getSZ(3); + @$pb.TagNumber(4) + set exonerationId($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasExonerationId() => $_has(3); + @$pb.TagNumber(4) + void clearExonerationId() => clearField(4); + + /// Reasoning behind the exoneration, in HTML. + /// MUST be sanitized before rendering in the browser. + @$pb.TagNumber(5) + $core.String get explanationHtml => $_getSZ(4); + @$pb.TagNumber(5) + set explanationHtml($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasExplanationHtml() => $_has(4); + @$pb.TagNumber(5) + void clearExplanationHtml() => clearField(5); + + /// Hash of the variant. + /// hex(sha256(sorted(''.join('%s:%s\n' for k, v in variant.items())))). + @$pb.TagNumber(6) + $core.String get variantHash => $_getSZ(5); + @$pb.TagNumber(6) + set variantHash($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasVariantHash() => $_has(5); + @$pb.TagNumber(6) + void clearVariantHash() => clearField(6); + + /// Reasoning behind the exoneration, in machine-readable form. + /// Used to assist downstream analyses, such as automatic bug-filing. + /// This allow detection of e.g. critical tests failing in presubmit, + /// even if they are being exonerated because they fail on other CLs. + @$pb.TagNumber(7) + ExonerationReason get reason => $_getN(6); + @$pb.TagNumber(7) + set reason(ExonerationReason v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasReason() => $_has(6); + @$pb.TagNumber(7) + void clearReason() => clearField(7); + + /// Whether the test exoneration has been masked so that it includes only + /// metadata. The metadata fields for a TestExoneration are: + /// * name + /// * test_id + /// * exoneration_id + /// * variant_hash + /// * explanation_html + /// * reason + /// + /// Output only. + @$pb.TagNumber(8) + $core.bool get isMasked => $_getBF(7); + @$pb.TagNumber(8) + set isMasked($core.bool v) { + $_setBool(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasIsMasked() => $_has(7); + @$pb.TagNumber(8) + void clearIsMasked() => clearField(8); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pbenum.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pbenum.dart new file mode 100644 index 000000000..92ceb3392 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pbenum.dart @@ -0,0 +1,84 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/test_result.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Machine-readable status of a test result. +class TestStatus extends $pb.ProtobufEnum { + static const TestStatus STATUS_UNSPECIFIED = TestStatus._(0, _omitEnumNames ? '' : 'STATUS_UNSPECIFIED'); + static const TestStatus PASS = TestStatus._(1, _omitEnumNames ? '' : 'PASS'); + static const TestStatus FAIL = TestStatus._(2, _omitEnumNames ? '' : 'FAIL'); + static const TestStatus CRASH = TestStatus._(3, _omitEnumNames ? '' : 'CRASH'); + static const TestStatus ABORT = TestStatus._(4, _omitEnumNames ? '' : 'ABORT'); + static const TestStatus SKIP = TestStatus._(5, _omitEnumNames ? '' : 'SKIP'); + + static const $core.List values = [ + STATUS_UNSPECIFIED, + PASS, + FAIL, + CRASH, + ABORT, + SKIP, + ]; + + static final $core.Map<$core.int, TestStatus> _byValue = $pb.ProtobufEnum.initByValue(values); + static TestStatus? valueOf($core.int value) => _byValue[value]; + + const TestStatus._($core.int v, $core.String n) : super(v, n); +} + +/// Machine-readable reason that a test execution was skipped. +/// Only reasons actually used are listed here, if you need a new reason +/// please add it here and send a CL to the OWNERS. +class SkipReason extends $pb.ProtobufEnum { + static const SkipReason SKIP_REASON_UNSPECIFIED = SkipReason._(0, _omitEnumNames ? '' : 'SKIP_REASON_UNSPECIFIED'); + static const SkipReason AUTOMATICALLY_DISABLED_FOR_FLAKINESS = + SkipReason._(1, _omitEnumNames ? '' : 'AUTOMATICALLY_DISABLED_FOR_FLAKINESS'); + + static const $core.List values = [ + SKIP_REASON_UNSPECIFIED, + AUTOMATICALLY_DISABLED_FOR_FLAKINESS, + ]; + + static final $core.Map<$core.int, SkipReason> _byValue = $pb.ProtobufEnum.initByValue(values); + static SkipReason? valueOf($core.int value) => _byValue[value]; + + const SkipReason._($core.int v, $core.String n) : super(v, n); +} + +/// Reason why a test variant was exonerated. +class ExonerationReason extends $pb.ProtobufEnum { + static const ExonerationReason EXONERATION_REASON_UNSPECIFIED = + ExonerationReason._(0, _omitEnumNames ? '' : 'EXONERATION_REASON_UNSPECIFIED'); + static const ExonerationReason OCCURS_ON_MAINLINE = + ExonerationReason._(1, _omitEnumNames ? '' : 'OCCURS_ON_MAINLINE'); + static const ExonerationReason OCCURS_ON_OTHER_CLS = + ExonerationReason._(2, _omitEnumNames ? '' : 'OCCURS_ON_OTHER_CLS'); + static const ExonerationReason NOT_CRITICAL = ExonerationReason._(3, _omitEnumNames ? '' : 'NOT_CRITICAL'); + static const ExonerationReason UNEXPECTED_PASS = ExonerationReason._(4, _omitEnumNames ? '' : 'UNEXPECTED_PASS'); + + static const $core.List values = [ + EXONERATION_REASON_UNSPECIFIED, + OCCURS_ON_MAINLINE, + OCCURS_ON_OTHER_CLS, + NOT_CRITICAL, + UNEXPECTED_PASS, + ]; + + static final $core.Map<$core.int, ExonerationReason> _byValue = $pb.ProtobufEnum.initByValue(values); + static ExonerationReason? valueOf($core.int value) => _byValue[value]; + + const ExonerationReason._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pbjson.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pbjson.dart new file mode 100644 index 000000000..808046b11 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_result.pbjson.dart @@ -0,0 +1,133 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/proto/v1/test_result.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use testStatusDescriptor instead') +const TestStatus$json = { + '1': 'TestStatus', + '2': [ + {'1': 'STATUS_UNSPECIFIED', '2': 0}, + {'1': 'PASS', '2': 1}, + {'1': 'FAIL', '2': 2}, + {'1': 'CRASH', '2': 3}, + {'1': 'ABORT', '2': 4}, + {'1': 'SKIP', '2': 5}, + ], +}; + +/// Descriptor for `TestStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List testStatusDescriptor = + $convert.base64Decode('CgpUZXN0U3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEggKBFBBU1MQARIICgRGQUlMEA' + 'ISCQoFQ1JBU0gQAxIJCgVBQk9SVBAEEggKBFNLSVAQBQ=='); + +@$core.Deprecated('Use skipReasonDescriptor instead') +const SkipReason$json = { + '1': 'SkipReason', + '2': [ + {'1': 'SKIP_REASON_UNSPECIFIED', '2': 0}, + {'1': 'AUTOMATICALLY_DISABLED_FOR_FLAKINESS', '2': 1}, + ], +}; + +/// Descriptor for `SkipReason`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List skipReasonDescriptor = + $convert.base64Decode('CgpTa2lwUmVhc29uEhsKF1NLSVBfUkVBU09OX1VOU1BFQ0lGSUVEEAASKAokQVVUT01BVElDQU' + 'xMWV9ESVNBQkxFRF9GT1JfRkxBS0lORVNTEAE='); + +@$core.Deprecated('Use exonerationReasonDescriptor instead') +const ExonerationReason$json = { + '1': 'ExonerationReason', + '2': [ + {'1': 'EXONERATION_REASON_UNSPECIFIED', '2': 0}, + {'1': 'OCCURS_ON_MAINLINE', '2': 1}, + {'1': 'OCCURS_ON_OTHER_CLS', '2': 2}, + {'1': 'NOT_CRITICAL', '2': 3}, + {'1': 'UNEXPECTED_PASS', '2': 4}, + ], +}; + +/// Descriptor for `ExonerationReason`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List exonerationReasonDescriptor = + $convert.base64Decode('ChFFeG9uZXJhdGlvblJlYXNvbhIiCh5FWE9ORVJBVElPTl9SRUFTT05fVU5TUEVDSUZJRUQQAB' + 'IWChJPQ0NVUlNfT05fTUFJTkxJTkUQARIXChNPQ0NVUlNfT05fT1RIRVJfQ0xTEAISEAoMTk9U' + 'X0NSSVRJQ0FMEAMSEwoPVU5FWFBFQ1RFRF9QQVNTEAQ='); + +@$core.Deprecated('Use testResultDescriptor instead') +const TestResult$json = { + '1': 'TestResult', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'test_id', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'testId'}, + {'1': 'result_id', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'resultId'}, + {'1': 'variant', '3': 4, '4': 1, '5': 11, '6': '.luci.resultdb.v1.Variant', '8': {}, '10': 'variant'}, + {'1': 'expected', '3': 5, '4': 1, '5': 8, '8': {}, '10': 'expected'}, + {'1': 'status', '3': 6, '4': 1, '5': 14, '6': '.luci.resultdb.v1.TestStatus', '8': {}, '10': 'status'}, + {'1': 'summary_html', '3': 7, '4': 1, '5': 9, '8': {}, '10': 'summaryHtml'}, + {'1': 'start_time', '3': 8, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '8': {}, '10': 'startTime'}, + {'1': 'duration', '3': 9, '4': 1, '5': 11, '6': '.google.protobuf.Duration', '8': {}, '10': 'duration'}, + {'1': 'tags', '3': 10, '4': 3, '5': 11, '6': '.luci.resultdb.v1.StringPair', '8': {}, '10': 'tags'}, + {'1': 'variant_hash', '3': 12, '4': 1, '5': 9, '8': {}, '10': 'variantHash'}, + {'1': 'test_metadata', '3': 13, '4': 1, '5': 11, '6': '.luci.resultdb.v1.TestMetadata', '10': 'testMetadata'}, + {'1': 'failure_reason', '3': 14, '4': 1, '5': 11, '6': '.luci.resultdb.v1.FailureReason', '10': 'failureReason'}, + {'1': 'properties', '3': 15, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'properties'}, + {'1': 'is_masked', '3': 16, '4': 1, '5': 8, '8': {}, '10': 'isMasked'}, + {'1': 'skip_reason', '3': 18, '4': 1, '5': 14, '6': '.luci.resultdb.v1.SkipReason', '10': 'skipReason'}, + ], + '9': [ + {'1': 11, '2': 12}, + ], +}; + +/// Descriptor for `TestResult`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testResultDescriptor = + $convert.base64Decode('CgpUZXN0UmVzdWx0EhoKBG5hbWUYASABKAlCBuBBA+BBBVIEbmFtZRIcCgd0ZXN0X2lkGAIgAS' + 'gJQgPgQQVSBnRlc3RJZBIjCglyZXN1bHRfaWQYAyABKAlCBuBBBeBBAlIIcmVzdWx0SWQSOAoH' + 'dmFyaWFudBgEIAEoCzIZLmx1Y2kucmVzdWx0ZGIudjEuVmFyaWFudEID4EEFUgd2YXJpYW50Eh' + '8KCGV4cGVjdGVkGAUgASgIQgPgQQVSCGV4cGVjdGVkEjkKBnN0YXR1cxgGIAEoDjIcLmx1Y2ku' + 'cmVzdWx0ZGIudjEuVGVzdFN0YXR1c0ID4EEFUgZzdGF0dXMSJgoMc3VtbWFyeV9odG1sGAcgAS' + 'gJQgPgQQVSC3N1bW1hcnlIdG1sEj4KCnN0YXJ0X3RpbWUYCCABKAsyGi5nb29nbGUucHJvdG9i' + 'dWYuVGltZXN0YW1wQgPgQQVSCXN0YXJ0VGltZRI6CghkdXJhdGlvbhgJIAEoCzIZLmdvb2dsZS' + '5wcm90b2J1Zi5EdXJhdGlvbkID4EEFUghkdXJhdGlvbhI1CgR0YWdzGAogAygLMhwubHVjaS5y' + 'ZXN1bHRkYi52MS5TdHJpbmdQYWlyQgPgQQVSBHRhZ3MSKQoMdmFyaWFudF9oYXNoGAwgASgJQg' + 'bgQQPgQQVSC3ZhcmlhbnRIYXNoEkMKDXRlc3RfbWV0YWRhdGEYDSABKAsyHi5sdWNpLnJlc3Vs' + 'dGRiLnYxLlRlc3RNZXRhZGF0YVIMdGVzdE1ldGFkYXRhEkYKDmZhaWx1cmVfcmVhc29uGA4gAS' + 'gLMh8ubHVjaS5yZXN1bHRkYi52MS5GYWlsdXJlUmVhc29uUg1mYWlsdXJlUmVhc29uEjcKCnBy' + 'b3BlcnRpZXMYDyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ugpwcm9wZXJ0aWVzEiAKCW' + 'lzX21hc2tlZBgQIAEoCEID4EEDUghpc01hc2tlZBI9Cgtza2lwX3JlYXNvbhgSIAEoDjIcLmx1' + 'Y2kucmVzdWx0ZGIudjEuU2tpcFJlYXNvblIKc2tpcFJlYXNvbkoECAsQDA=='); + +@$core.Deprecated('Use testExonerationDescriptor instead') +const TestExoneration$json = { + '1': 'TestExoneration', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'test_id', '3': 2, '4': 1, '5': 9, '10': 'testId'}, + {'1': 'variant', '3': 3, '4': 1, '5': 11, '6': '.luci.resultdb.v1.Variant', '10': 'variant'}, + {'1': 'exoneration_id', '3': 4, '4': 1, '5': 9, '8': {}, '10': 'exonerationId'}, + {'1': 'explanation_html', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'explanationHtml'}, + {'1': 'variant_hash', '3': 6, '4': 1, '5': 9, '8': {}, '10': 'variantHash'}, + {'1': 'reason', '3': 7, '4': 1, '5': 14, '6': '.luci.resultdb.v1.ExonerationReason', '8': {}, '10': 'reason'}, + {'1': 'is_masked', '3': 8, '4': 1, '5': 8, '8': {}, '10': 'isMasked'}, + ], +}; + +/// Descriptor for `TestExoneration`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testExonerationDescriptor = + $convert.base64Decode('Cg9UZXN0RXhvbmVyYXRpb24SGgoEbmFtZRgBIAEoCUIG4EED4EEFUgRuYW1lEhcKB3Rlc3RfaW' + 'QYAiABKAlSBnRlc3RJZBIzCgd2YXJpYW50GAMgASgLMhkubHVjaS5yZXN1bHRkYi52MS5WYXJp' + 'YW50Ugd2YXJpYW50Ei0KDmV4b25lcmF0aW9uX2lkGAQgASgJQgbgQQPgQQVSDWV4b25lcmF0aW' + '9uSWQSLgoQZXhwbGFuYXRpb25faHRtbBgFIAEoCUID4EEFUg9leHBsYW5hdGlvbkh0bWwSJgoM' + 'dmFyaWFudF9oYXNoGAYgASgJQgPgQQVSC3ZhcmlhbnRIYXNoEkAKBnJlYXNvbhgHIAEoDjIjLm' + 'x1Y2kucmVzdWx0ZGIudjEuRXhvbmVyYXRpb25SZWFzb25CA+BBBVIGcmVhc29uEiAKCWlzX21h' + 'c2tlZBgIIAEoCEID4EEDUghpc01hc2tlZA=='); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pb.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pb.dart new file mode 100644 index 000000000..ec2e65f43 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pb.dart @@ -0,0 +1,335 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../proto/v1/common.pb.dart' as $0; +import '../../../proto/v1/test_metadata.pb.dart' as $1; + +/// Map from directory paths in a repo to extra tags to attach to TestResults. +class LocationTags_Repo extends $pb.GeneratedMessage { + factory LocationTags_Repo({ + $core.Map<$core.String, LocationTags_Dir>? dirs, + $core.Map<$core.String, LocationTags_File>? files, + }) { + final $result = create(); + if (dirs != null) { + $result.dirs.addAll(dirs); + } + if (files != null) { + $result.files.addAll(files); + } + return $result; + } + LocationTags_Repo._() : super(); + factory LocationTags_Repo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LocationTags_Repo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LocationTags.Repo', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..m<$core.String, LocationTags_Dir>(1, _omitFieldNames ? '' : 'dirs', + entryClassName: 'LocationTags.Repo.DirsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: LocationTags_Dir.create, + valueDefaultOrMaker: LocationTags_Dir.getDefault, + packageName: const $pb.PackageName('luci.resultsink.v1')) + ..m<$core.String, LocationTags_File>(2, _omitFieldNames ? '' : 'files', + entryClassName: 'LocationTags.Repo.FilesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: LocationTags_File.create, + valueDefaultOrMaker: LocationTags_File.getDefault, + packageName: const $pb.PackageName('luci.resultsink.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LocationTags_Repo clone() => LocationTags_Repo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LocationTags_Repo copyWith(void Function(LocationTags_Repo) updates) => + super.copyWith((message) => updates(message as LocationTags_Repo)) as LocationTags_Repo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LocationTags_Repo create() => LocationTags_Repo._(); + LocationTags_Repo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LocationTags_Repo getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LocationTags_Repo? _defaultInstance; + + /// The key is a relative dir path. + /// "" means repo root and represents default for all subdirs. + /// Must use forward slash as a dir separator. + @$pb.TagNumber(1) + $core.Map<$core.String, LocationTags_Dir> get dirs => $_getMap(0); + + /// The key is a relative path to a file. + /// Same rules apply as dir. + @$pb.TagNumber(2) + $core.Map<$core.String, LocationTags_File> get files => $_getMap(1); +} + +/// Extra tags to attach to TestResults for a directory. +class LocationTags_Dir extends $pb.GeneratedMessage { + factory LocationTags_Dir({ + $core.Iterable<$0.StringPair>? tags, + $1.BugComponent? bugComponent, + }) { + final $result = create(); + if (tags != null) { + $result.tags.addAll(tags); + } + if (bugComponent != null) { + $result.bugComponent = bugComponent; + } + return $result; + } + LocationTags_Dir._() : super(); + factory LocationTags_Dir.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LocationTags_Dir.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LocationTags.Dir', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..pc<$0.StringPair>(1, _omitFieldNames ? '' : 'tags', $pb.PbFieldType.PM, subBuilder: $0.StringPair.create) + ..aOM<$1.BugComponent>(2, _omitFieldNames ? '' : 'bugComponent', subBuilder: $1.BugComponent.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LocationTags_Dir clone() => LocationTags_Dir()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LocationTags_Dir copyWith(void Function(LocationTags_Dir) updates) => + super.copyWith((message) => updates(message as LocationTags_Dir)) as LocationTags_Dir; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LocationTags_Dir create() => LocationTags_Dir._(); + LocationTags_Dir createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LocationTags_Dir getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LocationTags_Dir? _defaultInstance; + + /// If a key is not defined for subdir, but defined for an ancestor dir, then + /// the value(s) in the ancestor is implied. + /// + /// A key can be repeated. + @$pb.TagNumber(1) + $core.List<$0.StringPair> get tags => $_getList(0); + + /// The issue tracker component associated with the test, if any. + /// Bugs related to the test may be filed here. + /// Populated to test_metadata.bug_component. + @$pb.TagNumber(2) + $1.BugComponent get bugComponent => $_getN(1); + @$pb.TagNumber(2) + set bugComponent($1.BugComponent v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasBugComponent() => $_has(1); + @$pb.TagNumber(2) + void clearBugComponent() => clearField(2); + @$pb.TagNumber(2) + $1.BugComponent ensureBugComponent() => $_ensure(1); +} + +/// Extra tags to attach to TestResults for a file. +class LocationTags_File extends $pb.GeneratedMessage { + factory LocationTags_File({ + $core.Iterable<$0.StringPair>? tags, + $1.BugComponent? bugComponent, + }) { + final $result = create(); + if (tags != null) { + $result.tags.addAll(tags); + } + if (bugComponent != null) { + $result.bugComponent = bugComponent; + } + return $result; + } + LocationTags_File._() : super(); + factory LocationTags_File.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LocationTags_File.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LocationTags.File', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..pc<$0.StringPair>(1, _omitFieldNames ? '' : 'tags', $pb.PbFieldType.PM, subBuilder: $0.StringPair.create) + ..aOM<$1.BugComponent>(2, _omitFieldNames ? '' : 'bugComponent', subBuilder: $1.BugComponent.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LocationTags_File clone() => LocationTags_File()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LocationTags_File copyWith(void Function(LocationTags_File) updates) => + super.copyWith((message) => updates(message as LocationTags_File)) as LocationTags_File; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LocationTags_File create() => LocationTags_File._(); + LocationTags_File createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LocationTags_File getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LocationTags_File? _defaultInstance; + + /// A key can be repeated. + @$pb.TagNumber(1) + $core.List<$0.StringPair> get tags => $_getList(0); + + /// The issue tracker component associated with the test, if any. + /// Bugs related to the test may be filed here. + /// Populated to test_metadata.bug_component. + @$pb.TagNumber(2) + $1.BugComponent get bugComponent => $_getN(1); + @$pb.TagNumber(2) + set bugComponent($1.BugComponent v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasBugComponent() => $_has(1); + @$pb.TagNumber(2) + void clearBugComponent() => clearField(2); + @$pb.TagNumber(2) + $1.BugComponent ensureBugComponent() => $_ensure(1); +} + +/// Maps from directory paths to extra fields to attach to TestResults. +/// When converted to JSON format, it will look like below: +/// { +/// "repos": { +/// "https://chromium.googlesource.com/chromium/src" : { +/// "dirs": { +/// ".": { +/// "tags": { +/// "teamEmail": "team_email@chromium.org" +/// } +/// }, +/// "foo": { +/// "tags": { +/// "teamEmail": "team_email@chromium.org", +/// "os": "WINDOWS" +/// }, +/// "bug_component": { +/// "issue_tracker": { +/// "component_id": "17171717" +/// } +/// } +/// } +/// } +/// "files": { +/// "./file.txt": { +/// "tags": { +/// "teamEmail": "other_email@chromium.org", +/// "os": "WINDOWS" +/// }, +/// "bug_component": { +/// "issue_tracker": { +/// "component_id": "123456" +/// } +/// } +/// } +/// } +/// } +/// } +/// } +/// +/// N.B. This message is called 'LocationTags' because it was previously +/// only used for tags, but this is no longer true. +class LocationTags extends $pb.GeneratedMessage { + factory LocationTags({ + $core.Map<$core.String, LocationTags_Repo>? repos, + }) { + final $result = create(); + if (repos != null) { + $result.repos.addAll(repos); + } + return $result; + } + LocationTags._() : super(); + factory LocationTags.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LocationTags.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LocationTags', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..m<$core.String, LocationTags_Repo>(1, _omitFieldNames ? '' : 'repos', + entryClassName: 'LocationTags.ReposEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: LocationTags_Repo.create, + valueDefaultOrMaker: LocationTags_Repo.getDefault, + packageName: const $pb.PackageName('luci.resultsink.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LocationTags clone() => LocationTags()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LocationTags copyWith(void Function(LocationTags) updates) => + super.copyWith((message) => updates(message as LocationTags)) as LocationTags; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LocationTags create() => LocationTags._(); + LocationTags createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LocationTags getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LocationTags? _defaultInstance; + + /// The key is a Gitiles URL as the identifier for a repo. + /// Format for Gitiles URL: https:/// + /// For example "https://chromium.googlesource.com/chromium/src" + /// Must not end with ".git". + @$pb.TagNumber(1) + $core.Map<$core.String, LocationTags_Repo> get repos => $_getMap(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pbenum.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pbenum.dart new file mode 100644 index 000000000..af414314a --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pbjson.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pbjson.dart new file mode 100644 index 000000000..7cfbe8625 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pbjson.dart @@ -0,0 +1,98 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use locationTagsDescriptor instead') +const LocationTags$json = { + '1': 'LocationTags', + '2': [ + {'1': 'repos', '3': 1, '4': 3, '5': 11, '6': '.luci.resultsink.v1.LocationTags.ReposEntry', '10': 'repos'}, + ], + '3': [LocationTags_Repo$json, LocationTags_Dir$json, LocationTags_File$json, LocationTags_ReposEntry$json], +}; + +@$core.Deprecated('Use locationTagsDescriptor instead') +const LocationTags_Repo$json = { + '1': 'Repo', + '2': [ + {'1': 'dirs', '3': 1, '4': 3, '5': 11, '6': '.luci.resultsink.v1.LocationTags.Repo.DirsEntry', '10': 'dirs'}, + {'1': 'files', '3': 2, '4': 3, '5': 11, '6': '.luci.resultsink.v1.LocationTags.Repo.FilesEntry', '10': 'files'}, + ], + '3': [LocationTags_Repo_DirsEntry$json, LocationTags_Repo_FilesEntry$json], +}; + +@$core.Deprecated('Use locationTagsDescriptor instead') +const LocationTags_Repo_DirsEntry$json = { + '1': 'DirsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.luci.resultsink.v1.LocationTags.Dir', '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use locationTagsDescriptor instead') +const LocationTags_Repo_FilesEntry$json = { + '1': 'FilesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.luci.resultsink.v1.LocationTags.File', '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use locationTagsDescriptor instead') +const LocationTags_Dir$json = { + '1': 'Dir', + '2': [ + {'1': 'tags', '3': 1, '4': 3, '5': 11, '6': '.luci.resultdb.v1.StringPair', '10': 'tags'}, + {'1': 'bug_component', '3': 2, '4': 1, '5': 11, '6': '.luci.resultdb.v1.BugComponent', '10': 'bugComponent'}, + ], +}; + +@$core.Deprecated('Use locationTagsDescriptor instead') +const LocationTags_File$json = { + '1': 'File', + '2': [ + {'1': 'tags', '3': 1, '4': 3, '5': 11, '6': '.luci.resultdb.v1.StringPair', '10': 'tags'}, + {'1': 'bug_component', '3': 2, '4': 1, '5': 11, '6': '.luci.resultdb.v1.BugComponent', '10': 'bugComponent'}, + ], +}; + +@$core.Deprecated('Use locationTagsDescriptor instead') +const LocationTags_ReposEntry$json = { + '1': 'ReposEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.luci.resultsink.v1.LocationTags.Repo', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `LocationTags`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List locationTagsDescriptor = + $convert.base64Decode('CgxMb2NhdGlvblRhZ3MSQQoFcmVwb3MYASADKAsyKy5sdWNpLnJlc3VsdHNpbmsudjEuTG9jYX' + 'Rpb25UYWdzLlJlcG9zRW50cnlSBXJlcG9zGtMCCgRSZXBvEkMKBGRpcnMYASADKAsyLy5sdWNp' + 'LnJlc3VsdHNpbmsudjEuTG9jYXRpb25UYWdzLlJlcG8uRGlyc0VudHJ5UgRkaXJzEkYKBWZpbG' + 'VzGAIgAygLMjAubHVjaS5yZXN1bHRzaW5rLnYxLkxvY2F0aW9uVGFncy5SZXBvLkZpbGVzRW50' + 'cnlSBWZpbGVzGl0KCURpcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRI6CgV2YWx1ZRgCIAEoCz' + 'IkLmx1Y2kucmVzdWx0c2luay52MS5Mb2NhdGlvblRhZ3MuRGlyUgV2YWx1ZToCOAEaXwoKRmls' + 'ZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRI7CgV2YWx1ZRgCIAEoCzIlLmx1Y2kucmVzdWx0c2' + 'luay52MS5Mb2NhdGlvblRhZ3MuRmlsZVIFdmFsdWU6AjgBGnwKA0RpchIwCgR0YWdzGAEgAygL' + 'MhwubHVjaS5yZXN1bHRkYi52MS5TdHJpbmdQYWlyUgR0YWdzEkMKDWJ1Z19jb21wb25lbnQYAi' + 'ABKAsyHi5sdWNpLnJlc3VsdGRiLnYxLkJ1Z0NvbXBvbmVudFIMYnVnQ29tcG9uZW50Gn0KBEZp' + 'bGUSMAoEdGFncxgBIAMoCzIcLmx1Y2kucmVzdWx0ZGIudjEuU3RyaW5nUGFpclIEdGFncxJDCg' + '1idWdfY29tcG9uZW50GAIgASgLMh4ubHVjaS5yZXN1bHRkYi52MS5CdWdDb21wb25lbnRSDGJ1' + 'Z0NvbXBvbmVudBpfCgpSZXBvc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EjsKBXZhbHVlGAIgAS' + 'gLMiUubHVjaS5yZXN1bHRzaW5rLnYxLkxvY2F0aW9uVGFncy5SZXBvUgV2YWx1ZToCOAE='); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pb.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pb.dart new file mode 100644 index 000000000..fccd1ffea --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pb.dart @@ -0,0 +1,174 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/sink.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'test_result.pb.dart' as $2; + +class ReportTestResultsRequest extends $pb.GeneratedMessage { + factory ReportTestResultsRequest({ + $core.Iterable<$2.TestResult>? testResults, + }) { + final $result = create(); + if (testResults != null) { + $result.testResults.addAll(testResults); + } + return $result; + } + ReportTestResultsRequest._() : super(); + factory ReportTestResultsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReportTestResultsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ReportTestResultsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..pc<$2.TestResult>(1, _omitFieldNames ? '' : 'testResults', $pb.PbFieldType.PM, subBuilder: $2.TestResult.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReportTestResultsRequest clone() => ReportTestResultsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReportTestResultsRequest copyWith(void Function(ReportTestResultsRequest) updates) => + super.copyWith((message) => updates(message as ReportTestResultsRequest)) as ReportTestResultsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReportTestResultsRequest create() => ReportTestResultsRequest._(); + ReportTestResultsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReportTestResultsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ReportTestResultsRequest? _defaultInstance; + + /// Test results to report. + @$pb.TagNumber(1) + $core.List<$2.TestResult> get testResults => $_getList(0); +} + +class ReportTestResultsResponse extends $pb.GeneratedMessage { + factory ReportTestResultsResponse({ + $core.Iterable<$core.String>? testResultNames, + }) { + final $result = create(); + if (testResultNames != null) { + $result.testResultNames.addAll(testResultNames); + } + return $result; + } + ReportTestResultsResponse._() : super(); + factory ReportTestResultsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReportTestResultsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ReportTestResultsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'testResultNames') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReportTestResultsResponse clone() => ReportTestResultsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReportTestResultsResponse copyWith(void Function(ReportTestResultsResponse) updates) => + super.copyWith((message) => updates(message as ReportTestResultsResponse)) as ReportTestResultsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReportTestResultsResponse create() => ReportTestResultsResponse._(); + ReportTestResultsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReportTestResultsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ReportTestResultsResponse? _defaultInstance; + + /// List of unique identifiers that can be used to link to these results + /// or requested via luci.resultdb.v1.ResultDB service. + @$pb.TagNumber(1) + $core.List<$core.String> get testResultNames => $_getList(0); +} + +class ReportInvocationLevelArtifactsRequest extends $pb.GeneratedMessage { + factory ReportInvocationLevelArtifactsRequest({ + $core.Map<$core.String, $2.Artifact>? artifacts, + }) { + final $result = create(); + if (artifacts != null) { + $result.artifacts.addAll(artifacts); + } + return $result; + } + ReportInvocationLevelArtifactsRequest._() : super(); + factory ReportInvocationLevelArtifactsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReportInvocationLevelArtifactsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ReportInvocationLevelArtifactsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..m<$core.String, $2.Artifact>(1, _omitFieldNames ? '' : 'artifacts', + entryClassName: 'ReportInvocationLevelArtifactsRequest.ArtifactsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: $2.Artifact.create, + valueDefaultOrMaker: $2.Artifact.getDefault, + packageName: const $pb.PackageName('luci.resultsink.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReportInvocationLevelArtifactsRequest clone() => ReportInvocationLevelArtifactsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReportInvocationLevelArtifactsRequest copyWith(void Function(ReportInvocationLevelArtifactsRequest) updates) => + super.copyWith((message) => updates(message as ReportInvocationLevelArtifactsRequest)) + as ReportInvocationLevelArtifactsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReportInvocationLevelArtifactsRequest create() => ReportInvocationLevelArtifactsRequest._(); + ReportInvocationLevelArtifactsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReportInvocationLevelArtifactsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ReportInvocationLevelArtifactsRequest? _defaultInstance; + + /// Invocation-level artifacts to report. + /// The map key is an artifact id. + @$pb.TagNumber(1) + $core.Map<$core.String, $2.Artifact> get artifacts => $_getMap(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbenum.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbenum.dart new file mode 100644 index 000000000..ce3e93028 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/sink.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbgrpc.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbgrpc.dart new file mode 100644 index 000000000..cd9510a7f --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbgrpc.dart @@ -0,0 +1,85 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/sink.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../../../../google/protobuf/empty.pb.dart' as $1; +import 'sink.pb.dart' as $0; + +export 'sink.pb.dart'; + +@$pb.GrpcServiceName('luci.resultsink.v1.Sink') +class SinkClient extends $grpc.Client { + static final _$reportTestResults = $grpc.ClientMethod<$0.ReportTestResultsRequest, $0.ReportTestResultsResponse>( + '/luci.resultsink.v1.Sink/ReportTestResults', + ($0.ReportTestResultsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.ReportTestResultsResponse.fromBuffer(value)); + static final _$reportInvocationLevelArtifacts = + $grpc.ClientMethod<$0.ReportInvocationLevelArtifactsRequest, $1.Empty>( + '/luci.resultsink.v1.Sink/ReportInvocationLevelArtifacts', + ($0.ReportInvocationLevelArtifactsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + + SinkClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$0.ReportTestResultsResponse> reportTestResults($0.ReportTestResultsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$reportTestResults, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> reportInvocationLevelArtifacts($0.ReportInvocationLevelArtifactsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$reportInvocationLevelArtifacts, request, options: options); + } +} + +@$pb.GrpcServiceName('luci.resultsink.v1.Sink') +abstract class SinkServiceBase extends $grpc.Service { + $core.String get $name => 'luci.resultsink.v1.Sink'; + + SinkServiceBase() { + $addMethod($grpc.ServiceMethod<$0.ReportTestResultsRequest, $0.ReportTestResultsResponse>( + 'ReportTestResults', + reportTestResults_Pre, + false, + false, + ($core.List<$core.int> value) => $0.ReportTestResultsRequest.fromBuffer(value), + ($0.ReportTestResultsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.ReportInvocationLevelArtifactsRequest, $1.Empty>( + 'ReportInvocationLevelArtifacts', + reportInvocationLevelArtifacts_Pre, + false, + false, + ($core.List<$core.int> value) => $0.ReportInvocationLevelArtifactsRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + } + + $async.Future<$0.ReportTestResultsResponse> reportTestResults_Pre( + $grpc.ServiceCall call, $async.Future<$0.ReportTestResultsRequest> request) async { + return reportTestResults(call, await request); + } + + $async.Future<$1.Empty> reportInvocationLevelArtifacts_Pre( + $grpc.ServiceCall call, $async.Future<$0.ReportInvocationLevelArtifactsRequest> request) async { + return reportInvocationLevelArtifacts(call, await request); + } + + $async.Future<$0.ReportTestResultsResponse> reportTestResults( + $grpc.ServiceCall call, $0.ReportTestResultsRequest request); + $async.Future<$1.Empty> reportInvocationLevelArtifacts( + $grpc.ServiceCall call, $0.ReportInvocationLevelArtifactsRequest request); +} diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbjson.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbjson.dart new file mode 100644 index 000000000..7dafda242 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbjson.dart @@ -0,0 +1,74 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/sink.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use reportTestResultsRequestDescriptor instead') +const ReportTestResultsRequest$json = { + '1': 'ReportTestResultsRequest', + '2': [ + {'1': 'test_results', '3': 1, '4': 3, '5': 11, '6': '.luci.resultsink.v1.TestResult', '10': 'testResults'}, + ], +}; + +/// Descriptor for `ReportTestResultsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reportTestResultsRequestDescriptor = + $convert.base64Decode('ChhSZXBvcnRUZXN0UmVzdWx0c1JlcXVlc3QSQQoMdGVzdF9yZXN1bHRzGAEgAygLMh4ubHVjaS' + '5yZXN1bHRzaW5rLnYxLlRlc3RSZXN1bHRSC3Rlc3RSZXN1bHRz'); + +@$core.Deprecated('Use reportTestResultsResponseDescriptor instead') +const ReportTestResultsResponse$json = { + '1': 'ReportTestResultsResponse', + '2': [ + {'1': 'test_result_names', '3': 1, '4': 3, '5': 9, '10': 'testResultNames'}, + ], +}; + +/// Descriptor for `ReportTestResultsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reportTestResultsResponseDescriptor = + $convert.base64Decode('ChlSZXBvcnRUZXN0UmVzdWx0c1Jlc3BvbnNlEioKEXRlc3RfcmVzdWx0X25hbWVzGAEgAygJUg' + '90ZXN0UmVzdWx0TmFtZXM='); + +@$core.Deprecated('Use reportInvocationLevelArtifactsRequestDescriptor instead') +const ReportInvocationLevelArtifactsRequest$json = { + '1': 'ReportInvocationLevelArtifactsRequest', + '2': [ + { + '1': 'artifacts', + '3': 1, + '4': 3, + '5': 11, + '6': '.luci.resultsink.v1.ReportInvocationLevelArtifactsRequest.ArtifactsEntry', + '10': 'artifacts' + }, + ], + '3': [ReportInvocationLevelArtifactsRequest_ArtifactsEntry$json], +}; + +@$core.Deprecated('Use reportInvocationLevelArtifactsRequestDescriptor instead') +const ReportInvocationLevelArtifactsRequest_ArtifactsEntry$json = { + '1': 'ArtifactsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.luci.resultsink.v1.Artifact', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `ReportInvocationLevelArtifactsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reportInvocationLevelArtifactsRequestDescriptor = + $convert.base64Decode('CiVSZXBvcnRJbnZvY2F0aW9uTGV2ZWxBcnRpZmFjdHNSZXF1ZXN0EmYKCWFydGlmYWN0cxgBIA' + 'MoCzJILmx1Y2kucmVzdWx0c2luay52MS5SZXBvcnRJbnZvY2F0aW9uTGV2ZWxBcnRpZmFjdHNS' + 'ZXF1ZXN0LkFydGlmYWN0c0VudHJ5UglhcnRpZmFjdHMaWgoOQXJ0aWZhY3RzRW50cnkSEAoDa2' + 'V5GAEgASgJUgNrZXkSMgoFdmFsdWUYAiABKAsyHC5sdWNpLnJlc3VsdHNpbmsudjEuQXJ0aWZh' + 'Y3RSBXZhbHVlOgI4AQ=='); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pb.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pb.dart new file mode 100644 index 000000000..34a5d10b9 --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pb.dart @@ -0,0 +1,522 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/test_result.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../../../../google/protobuf/duration.pb.dart' as $1; +import '../../../../../../google/protobuf/struct.pb.dart' as $5; +import '../../../../../../google/protobuf/timestamp.pb.dart' as $0; +import '../../../proto/v1/common.pb.dart' as $2; +import '../../../proto/v1/failure_reason.pb.dart' as $4; +import '../../../proto/v1/test_metadata.pb.dart' as $3; +import '../../../proto/v1/test_result.pbenum.dart' as $6; +import 'test_result.pbenum.dart'; + +export 'test_result.pbenum.dart'; + +/// A local equivalent of luci.resultdb.TestResult message +/// in ../../v1/test_result.proto. +/// See its comments for details. +class TestResult extends $pb.GeneratedMessage { + factory TestResult({ + $core.String? testId, + $core.String? resultId, + $core.bool? expected, + $6.TestStatus? status, + $core.String? summaryHtml, + $0.Timestamp? startTime, + $1.Duration? duration, + $core.Iterable<$2.StringPair>? tags, + $core.Map<$core.String, Artifact>? artifacts, + $3.TestMetadata? testMetadata, + $4.FailureReason? failureReason, + $2.Variant? variant, + $5.Struct? properties, + }) { + final $result = create(); + if (testId != null) { + $result.testId = testId; + } + if (resultId != null) { + $result.resultId = resultId; + } + if (expected != null) { + $result.expected = expected; + } + if (status != null) { + $result.status = status; + } + if (summaryHtml != null) { + $result.summaryHtml = summaryHtml; + } + if (startTime != null) { + $result.startTime = startTime; + } + if (duration != null) { + $result.duration = duration; + } + if (tags != null) { + $result.tags.addAll(tags); + } + if (artifacts != null) { + $result.artifacts.addAll(artifacts); + } + if (testMetadata != null) { + $result.testMetadata = testMetadata; + } + if (failureReason != null) { + $result.failureReason = failureReason; + } + if (variant != null) { + $result.variant = variant; + } + if (properties != null) { + $result.properties = properties; + } + return $result; + } + TestResult._() : super(); + factory TestResult.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestResult.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TestResult', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'testId') + ..aOS(2, _omitFieldNames ? '' : 'resultId') + ..aOB(3, _omitFieldNames ? '' : 'expected') + ..e<$6.TestStatus>(4, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE, + defaultOrMaker: $6.TestStatus.STATUS_UNSPECIFIED, + valueOf: $6.TestStatus.valueOf, + enumValues: $6.TestStatus.values) + ..aOS(5, _omitFieldNames ? '' : 'summaryHtml') + ..aOM<$0.Timestamp>(6, _omitFieldNames ? '' : 'startTime', subBuilder: $0.Timestamp.create) + ..aOM<$1.Duration>(7, _omitFieldNames ? '' : 'duration', subBuilder: $1.Duration.create) + ..pc<$2.StringPair>(8, _omitFieldNames ? '' : 'tags', $pb.PbFieldType.PM, subBuilder: $2.StringPair.create) + ..m<$core.String, Artifact>(9, _omitFieldNames ? '' : 'artifacts', + entryClassName: 'TestResult.ArtifactsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: Artifact.create, + valueDefaultOrMaker: Artifact.getDefault, + packageName: const $pb.PackageName('luci.resultsink.v1')) + ..aOM<$3.TestMetadata>(11, _omitFieldNames ? '' : 'testMetadata', subBuilder: $3.TestMetadata.create) + ..aOM<$4.FailureReason>(12, _omitFieldNames ? '' : 'failureReason', subBuilder: $4.FailureReason.create) + ..aOM<$2.Variant>(13, _omitFieldNames ? '' : 'variant', subBuilder: $2.Variant.create) + ..aOM<$5.Struct>(14, _omitFieldNames ? '' : 'properties', subBuilder: $5.Struct.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestResult clone() => TestResult()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestResult copyWith(void Function(TestResult) updates) => + super.copyWith((message) => updates(message as TestResult)) as TestResult; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestResult create() => TestResult._(); + TestResult createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TestResult? _defaultInstance; + + /// Equivalent of luci.resultdb.v1.TestResult.TestId. + @$pb.TagNumber(1) + $core.String get testId => $_getSZ(0); + @$pb.TagNumber(1) + set testId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTestId() => $_has(0); + @$pb.TagNumber(1) + void clearTestId() => clearField(1); + + /// Equivalent of luci.resultdb.v1.TestResult.result_id. + /// + /// If omitted, a random, unique ID is generated.. + @$pb.TagNumber(2) + $core.String get resultId => $_getSZ(1); + @$pb.TagNumber(2) + set resultId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasResultId() => $_has(1); + @$pb.TagNumber(2) + void clearResultId() => clearField(2); + + /// Equivalent of luci.resultdb.v1.TestResult.expected. + @$pb.TagNumber(3) + $core.bool get expected => $_getBF(2); + @$pb.TagNumber(3) + set expected($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasExpected() => $_has(2); + @$pb.TagNumber(3) + void clearExpected() => clearField(3); + + /// Equivalent of luci.resultdb.v1.TestResult.status. + @$pb.TagNumber(4) + $6.TestStatus get status => $_getN(3); + @$pb.TagNumber(4) + set status($6.TestStatus v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasStatus() => $_has(3); + @$pb.TagNumber(4) + void clearStatus() => clearField(4); + + /// Equivalent of luci.resultdb.v1.TestResult.summary_html. + @$pb.TagNumber(5) + $core.String get summaryHtml => $_getSZ(4); + @$pb.TagNumber(5) + set summaryHtml($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasSummaryHtml() => $_has(4); + @$pb.TagNumber(5) + void clearSummaryHtml() => clearField(5); + + /// Equivalent of luci.resultdb.v1.TestResult.start_time. + @$pb.TagNumber(6) + $0.Timestamp get startTime => $_getN(5); + @$pb.TagNumber(6) + set startTime($0.Timestamp v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasStartTime() => $_has(5); + @$pb.TagNumber(6) + void clearStartTime() => clearField(6); + @$pb.TagNumber(6) + $0.Timestamp ensureStartTime() => $_ensure(5); + + /// Equivalent of luci.resultdb.v1.TestResult.duration. + @$pb.TagNumber(7) + $1.Duration get duration => $_getN(6); + @$pb.TagNumber(7) + set duration($1.Duration v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasDuration() => $_has(6); + @$pb.TagNumber(7) + void clearDuration() => clearField(7); + @$pb.TagNumber(7) + $1.Duration ensureDuration() => $_ensure(6); + + /// Equivalent of luci.resultdb.v1.TestResult.tags. + @$pb.TagNumber(8) + $core.List<$2.StringPair> get tags => $_getList(7); + + /// Artifacts to upload and associate with this test result. + /// The map key is an artifact id. + @$pb.TagNumber(9) + $core.Map<$core.String, Artifact> get artifacts => $_getMap(8); + + /// Equivalent of luci.resultdb.v1.TestResult.test_metadata. + @$pb.TagNumber(11) + $3.TestMetadata get testMetadata => $_getN(9); + @$pb.TagNumber(11) + set testMetadata($3.TestMetadata v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasTestMetadata() => $_has(9); + @$pb.TagNumber(11) + void clearTestMetadata() => clearField(11); + @$pb.TagNumber(11) + $3.TestMetadata ensureTestMetadata() => $_ensure(9); + + /// Equivalent of luci.resultdb.v1.TestResult.failure_reason. + @$pb.TagNumber(12) + $4.FailureReason get failureReason => $_getN(10); + @$pb.TagNumber(12) + set failureReason($4.FailureReason v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasFailureReason() => $_has(10); + @$pb.TagNumber(12) + void clearFailureReason() => clearField(12); + @$pb.TagNumber(12) + $4.FailureReason ensureFailureReason() => $_ensure(10); + + /// Equivalent of luci.resultdb.v1.TestResult.variant. + /// The variant for all test cases should be passed by command line args to rdb + /// stream, however you can override or add to the variant on a per test case + /// basis using this field. + @$pb.TagNumber(13) + $2.Variant get variant => $_getN(11); + @$pb.TagNumber(13) + set variant($2.Variant v) { + setField(13, v); + } + + @$pb.TagNumber(13) + $core.bool hasVariant() => $_has(11); + @$pb.TagNumber(13) + void clearVariant() => clearField(13); + @$pb.TagNumber(13) + $2.Variant ensureVariant() => $_ensure(11); + + /// Arbitrary JSON object that contains structured, domain-specific properties + /// of the test result. + /// + /// The serialized size must be <= 4096 bytes. + @$pb.TagNumber(14) + $5.Struct get properties => $_getN(12); + @$pb.TagNumber(14) + set properties($5.Struct v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasProperties() => $_has(12); + @$pb.TagNumber(14) + void clearProperties() => clearField(14); + @$pb.TagNumber(14) + $5.Struct ensureProperties() => $_ensure(12); +} + +enum Artifact_Body { filePath, contents, gcsUri, notSet } + +/// A local equivalent of luci.resultdb.Artifact message +/// in ../../rpc/v1/artifact.proto. +/// See its comments for details. +/// Does not have a name or artifact_id because they are represented by the +/// TestResult.artifacts map key. +/// Next id: 5 +class Artifact extends $pb.GeneratedMessage { + factory Artifact({ + $core.String? filePath, + $core.List<$core.int>? contents, + $core.String? contentType, + $core.String? gcsUri, + }) { + final $result = create(); + if (filePath != null) { + $result.filePath = filePath; + } + if (contents != null) { + $result.contents = contents; + } + if (contentType != null) { + $result.contentType = contentType; + } + if (gcsUri != null) { + $result.gcsUri = gcsUri; + } + return $result; + } + Artifact._() : super(); + factory Artifact.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Artifact.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Artifact_Body> _Artifact_BodyByTag = { + 1: Artifact_Body.filePath, + 2: Artifact_Body.contents, + 4: Artifact_Body.gcsUri, + 0: Artifact_Body.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Artifact', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..oo(0, [1, 2, 4]) + ..aOS(1, _omitFieldNames ? '' : 'filePath') + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'contents', $pb.PbFieldType.OY) + ..aOS(3, _omitFieldNames ? '' : 'contentType') + ..aOS(4, _omitFieldNames ? '' : 'gcsUri') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Artifact clone() => Artifact()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Artifact copyWith(void Function(Artifact) updates) => + super.copyWith((message) => updates(message as Artifact)) as Artifact; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Artifact create() => Artifact._(); + Artifact createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Artifact getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Artifact? _defaultInstance; + + Artifact_Body whichBody() => _Artifact_BodyByTag[$_whichOneof(0)]!; + void clearBody() => clearField($_whichOneof(0)); + + /// Absolute path to the artifact file on the same machine as the + /// ResultSink server. + @$pb.TagNumber(1) + $core.String get filePath => $_getSZ(0); + @$pb.TagNumber(1) + set filePath($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFilePath() => $_has(0); + @$pb.TagNumber(1) + void clearFilePath() => clearField(1); + + /// Contents of the artifact. Useful when sending a file from a different + /// machine. + /// TODO(nodir, sajjadm): allow sending contents in chunks. + @$pb.TagNumber(2) + $core.List<$core.int> get contents => $_getN(1); + @$pb.TagNumber(2) + set contents($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasContents() => $_has(1); + @$pb.TagNumber(2) + void clearContents() => clearField(2); + + /// Equivalent of luci.resultdb.v1.Artifact.content_type. + @$pb.TagNumber(3) + $core.String get contentType => $_getSZ(2); + @$pb.TagNumber(3) + set contentType($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasContentType() => $_has(2); + @$pb.TagNumber(3) + void clearContentType() => clearField(3); + + /// The GCS URI of the artifact if it's stored in GCS. + @$pb.TagNumber(4) + $core.String get gcsUri => $_getSZ(3); + @$pb.TagNumber(4) + set gcsUri($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasGcsUri() => $_has(3); + @$pb.TagNumber(4) + void clearGcsUri() => clearField(4); +} + +/// A file with test results. +class TestResultFile extends $pb.GeneratedMessage { + factory TestResultFile({ + $core.String? path, + TestResultFile_Format? format, + }) { + final $result = create(); + if (path != null) { + $result.path = path; + } + if (format != null) { + $result.format = format; + } + return $result; + } + TestResultFile._() : super(); + factory TestResultFile.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestResultFile.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TestResultFile', + package: const $pb.PackageName(_omitMessageNames ? '' : 'luci.resultsink.v1'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'path') + ..e(2, _omitFieldNames ? '' : 'format', $pb.PbFieldType.OE, + defaultOrMaker: TestResultFile_Format.LUCI, + valueOf: TestResultFile_Format.valueOf, + enumValues: TestResultFile_Format.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestResultFile clone() => TestResultFile()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestResultFile copyWith(void Function(TestResultFile) updates) => + super.copyWith((message) => updates(message as TestResultFile)) as TestResultFile; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestResultFile create() => TestResultFile._(); + TestResultFile createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestResultFile getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TestResultFile? _defaultInstance; + + /// Absolute OS-native path to the results file on the same machine as the + /// ResultSink server. + @$pb.TagNumber(1) + $core.String get path => $_getSZ(0); + @$pb.TagNumber(1) + set path($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPath() => $_has(0); + @$pb.TagNumber(1) + void clearPath() => clearField(1); + + /// Format of the file. + @$pb.TagNumber(2) + TestResultFile_Format get format => $_getN(1); + @$pb.TagNumber(2) + set format(TestResultFile_Format v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasFormat() => $_has(1); + @$pb.TagNumber(2) + void clearFormat() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pbenum.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pbenum.dart new file mode 100644 index 000000000..57b01a10b --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pbenum.dart @@ -0,0 +1,35 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/test_result.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// A result file format. +class TestResultFile_Format extends $pb.ProtobufEnum { + static const TestResultFile_Format LUCI = TestResultFile_Format._(0, _omitEnumNames ? '' : 'LUCI'); + static const TestResultFile_Format CHROMIUM_JSON_TEST_RESULTS = + TestResultFile_Format._(1, _omitEnumNames ? '' : 'CHROMIUM_JSON_TEST_RESULTS'); + static const TestResultFile_Format GOOGLE_TEST = TestResultFile_Format._(2, _omitEnumNames ? '' : 'GOOGLE_TEST'); + + static const $core.List values = [ + LUCI, + CHROMIUM_JSON_TEST_RESULTS, + GOOGLE_TEST, + ]; + + static final $core.Map<$core.int, TestResultFile_Format> _byValue = $pb.ProtobufEnum.initByValue(values); + static TestResultFile_Format? valueOf($core.int value) => _byValue[value]; + + const TestResultFile_Format._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pbjson.dart b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pbjson.dart new file mode 100644 index 000000000..f71faae6c --- /dev/null +++ b/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/test_result.pbjson.dart @@ -0,0 +1,121 @@ +// +// Generated code. Do not modify. +// source: go.chromium.org/luci/resultdb/sink/proto/v1/test_result.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use testResultDescriptor instead') +const TestResult$json = { + '1': 'TestResult', + '2': [ + {'1': 'test_id', '3': 1, '4': 1, '5': 9, '10': 'testId'}, + {'1': 'result_id', '3': 2, '4': 1, '5': 9, '10': 'resultId'}, + {'1': 'expected', '3': 3, '4': 1, '5': 8, '10': 'expected'}, + {'1': 'status', '3': 4, '4': 1, '5': 14, '6': '.luci.resultdb.v1.TestStatus', '10': 'status'}, + {'1': 'summary_html', '3': 5, '4': 1, '5': 9, '10': 'summaryHtml'}, + {'1': 'start_time', '3': 6, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '10': 'startTime'}, + {'1': 'duration', '3': 7, '4': 1, '5': 11, '6': '.google.protobuf.Duration', '10': 'duration'}, + {'1': 'tags', '3': 8, '4': 3, '5': 11, '6': '.luci.resultdb.v1.StringPair', '10': 'tags'}, + { + '1': 'artifacts', + '3': 9, + '4': 3, + '5': 11, + '6': '.luci.resultsink.v1.TestResult.ArtifactsEntry', + '10': 'artifacts' + }, + {'1': 'test_metadata', '3': 11, '4': 1, '5': 11, '6': '.luci.resultdb.v1.TestMetadata', '10': 'testMetadata'}, + {'1': 'failure_reason', '3': 12, '4': 1, '5': 11, '6': '.luci.resultdb.v1.FailureReason', '10': 'failureReason'}, + {'1': 'variant', '3': 13, '4': 1, '5': 11, '6': '.luci.resultdb.v1.Variant', '10': 'variant'}, + {'1': 'properties', '3': 14, '4': 1, '5': 11, '6': '.google.protobuf.Struct', '10': 'properties'}, + ], + '3': [TestResult_ArtifactsEntry$json], + '9': [ + {'1': 10, '2': 11}, + ], + '10': ['test_location'], +}; + +@$core.Deprecated('Use testResultDescriptor instead') +const TestResult_ArtifactsEntry$json = { + '1': 'ArtifactsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.luci.resultsink.v1.Artifact', '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `TestResult`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testResultDescriptor = + $convert.base64Decode('CgpUZXN0UmVzdWx0EhcKB3Rlc3RfaWQYASABKAlSBnRlc3RJZBIbCglyZXN1bHRfaWQYAiABKA' + 'lSCHJlc3VsdElkEhoKCGV4cGVjdGVkGAMgASgIUghleHBlY3RlZBI0CgZzdGF0dXMYBCABKA4y' + 'HC5sdWNpLnJlc3VsdGRiLnYxLlRlc3RTdGF0dXNSBnN0YXR1cxIhCgxzdW1tYXJ5X2h0bWwYBS' + 'ABKAlSC3N1bW1hcnlIdG1sEjkKCnN0YXJ0X3RpbWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYu' + 'VGltZXN0YW1wUglzdGFydFRpbWUSNQoIZHVyYXRpb24YByABKAsyGS5nb29nbGUucHJvdG9idW' + 'YuRHVyYXRpb25SCGR1cmF0aW9uEjAKBHRhZ3MYCCADKAsyHC5sdWNpLnJlc3VsdGRiLnYxLlN0' + 'cmluZ1BhaXJSBHRhZ3MSSwoJYXJ0aWZhY3RzGAkgAygLMi0ubHVjaS5yZXN1bHRzaW5rLnYxLl' + 'Rlc3RSZXN1bHQuQXJ0aWZhY3RzRW50cnlSCWFydGlmYWN0cxJDCg10ZXN0X21ldGFkYXRhGAsg' + 'ASgLMh4ubHVjaS5yZXN1bHRkYi52MS5UZXN0TWV0YWRhdGFSDHRlc3RNZXRhZGF0YRJGCg5mYW' + 'lsdXJlX3JlYXNvbhgMIAEoCzIfLmx1Y2kucmVzdWx0ZGIudjEuRmFpbHVyZVJlYXNvblINZmFp' + 'bHVyZVJlYXNvbhIzCgd2YXJpYW50GA0gASgLMhkubHVjaS5yZXN1bHRkYi52MS5WYXJpYW50Ug' + 'd2YXJpYW50EjcKCnByb3BlcnRpZXMYDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ugpw' + 'cm9wZXJ0aWVzGloKDkFydGlmYWN0c0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EjIKBXZhbHVlGA' + 'IgASgLMhwubHVjaS5yZXN1bHRzaW5rLnYxLkFydGlmYWN0UgV2YWx1ZToCOAFKBAgKEAtSDXRl' + 'c3RfbG9jYXRpb24='); + +@$core.Deprecated('Use artifactDescriptor instead') +const Artifact$json = { + '1': 'Artifact', + '2': [ + {'1': 'file_path', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'filePath'}, + {'1': 'contents', '3': 2, '4': 1, '5': 12, '9': 0, '10': 'contents'}, + {'1': 'gcs_uri', '3': 4, '4': 1, '5': 9, '9': 0, '10': 'gcsUri'}, + {'1': 'content_type', '3': 3, '4': 1, '5': 9, '10': 'contentType'}, + ], + '8': [ + {'1': 'body'}, + ], +}; + +/// Descriptor for `Artifact`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List artifactDescriptor = + $convert.base64Decode('CghBcnRpZmFjdBIdCglmaWxlX3BhdGgYASABKAlIAFIIZmlsZVBhdGgSHAoIY29udGVudHMYAi' + 'ABKAxIAFIIY29udGVudHMSGQoHZ2NzX3VyaRgEIAEoCUgAUgZnY3NVcmkSIQoMY29udGVudF90' + 'eXBlGAMgASgJUgtjb250ZW50VHlwZUIGCgRib2R5'); + +@$core.Deprecated('Use testResultFileDescriptor instead') +const TestResultFile$json = { + '1': 'TestResultFile', + '2': [ + {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'}, + {'1': 'format', '3': 2, '4': 1, '5': 14, '6': '.luci.resultsink.v1.TestResultFile.Format', '10': 'format'}, + ], + '4': [TestResultFile_Format$json], +}; + +@$core.Deprecated('Use testResultFileDescriptor instead') +const TestResultFile_Format$json = { + '1': 'Format', + '2': [ + {'1': 'LUCI', '2': 0}, + {'1': 'CHROMIUM_JSON_TEST_RESULTS', '2': 1}, + {'1': 'GOOGLE_TEST', '2': 2}, + ], +}; + +/// Descriptor for `TestResultFile`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testResultFileDescriptor = + $convert.base64Decode('Cg5UZXN0UmVzdWx0RmlsZRISCgRwYXRoGAEgASgJUgRwYXRoEkEKBmZvcm1hdBgCIAEoDjIpLm' + 'x1Y2kucmVzdWx0c2luay52MS5UZXN0UmVzdWx0RmlsZS5Gb3JtYXRSBmZvcm1hdCJDCgZGb3Jt' + 'YXQSCAoETFVDSRAAEh4KGkNIUk9NSVVNX0pTT05fVEVTVF9SRVNVTFRTEAESDwoLR09PR0xFX1' + 'RFU1QQAg=='); diff --git a/packages/buildbucket-dart/pubspec.yaml b/packages/buildbucket-dart/pubspec.yaml index 3aff93b4b..91f7cd839 100644 --- a/packages/buildbucket-dart/pubspec.yaml +++ b/packages/buildbucket-dart/pubspec.yaml @@ -1,6 +1,6 @@ name: buildbucket description: LUCI Buildbucket library. Protos and utilities to communicate with LUCI buildbucket service. -version: 1.0.10 +version: 1.0.12 repository: https://github.com/flutter/cocoon/tree/main/packages/buildbucket-dart environment: diff --git a/packages/buildbucket-dart/tool/regenerate.sh b/packages/buildbucket-dart/tool/regenerate.sh index a6fb85a07..2d90de0a3 100755 --- a/packages/buildbucket-dart/tool/regenerate.sh +++ b/packages/buildbucket-dart/tool/regenerate.sh @@ -11,6 +11,7 @@ mkdir -p buildbucket_tmp pushd buildbucket_tmp + git clone https://chromium.googlesource.com/infra/luci/luci-go git clone https://github.com/googleapis/googleapis git clone https://github.com/protocolbuffers/protobuf @@ -30,6 +31,16 @@ $PROTOC go.chromium.org/luci/buildbucket/proto/project_config.proto $PROTOC go.chromium.org/luci/buildbucket/proto/step.proto $PROTOC go.chromium.org/luci/buildbucket/proto/task.proto $PROTOC go.chromium.org/luci/buildbucket/proto/notification.proto +$PROTOC go.chromium.org/luci/resultdb/sink/proto/v1/test_result.proto +$PROTOC go.chromium.org/luci/resultdb/sink/proto/v1/sink.proto +$PROTOC go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.proto +$PROTOC go.chromium.org/luci/resultdb/proto/v1/artifact.proto +$PROTOC go.chromium.org/luci/resultdb/proto/v1/common.proto +$PROTOC go.chromium.org/luci/resultdb/proto/v1/resultdb.proto +$PROTOC go.chromium.org/luci/resultdb/proto/v1/failure_reason.proto +$PROTOC go.chromium.org/luci/resultdb/proto/v1/test_result.proto +$PROTOC go.chromium.org/luci/resultdb/proto/v1/test_metadata.proto +$PROTOC go.chromium.org/luci/resultdb/proto/v1/location_tag.proto $PROTOC go.chromium.org/luci/resultdb/proto/v1/common.proto $PROTOC go.chromium.org/luci/resultdb/proto/v1/invocation.proto $PROTOC go.chromium.org/luci/resultdb/proto/v1/predicate.proto