# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: chromite/api/test.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from chromite.api.gen.chromite.api import build_api_pb2 as chromite_dot_api_dot_build__api__pb2
from chromite.api.gen.chromite.api import sysroot_pb2 as chromite_dot_api_dot_sysroot__pb2
from chromite.api.gen.chromiumos import common_pb2 as chromiumos_dot_common__pb2
from chromite.api.gen.chromiumos import metrics_pb2 as chromiumos_dot_metrics__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='chromite/api/test.proto',
  package='chromite.api',
  syntax='proto3',
  serialized_options=_b('Z6go.chromium.org/chromiumos/infra/proto/go/chromite/api'),
  serialized_pb=_b('\n\x17\x63hromite/api/test.proto\x12\x0c\x63hromite.api\x1a\x1c\x63hromite/api/build_api.proto\x1a\x1a\x63hromite/api/sysroot.proto\x1a\x17\x63hromiumos/common.proto\x1a\x18\x63hromiumos/metrics.proto\"\xcc\x03\n\x1a\x42uildTargetUnitTestRequest\x12-\n\x0c\x62uild_target\x18\x01 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x13\n\x0bresult_path\x18\x02 \x01(\t\x12\"\n\x06\x63hroot\x18\x03 \x01(\x0b\x32\x12.chromiumos.Chroot\x12=\n\x05\x66lags\x18\x04 \x01(\x0b\x32..chromite.api.BuildTargetUnitTestRequest.Flags\x12\x32\n\x11package_blacklist\x18\x05 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12)\n\x08packages\x18\x06 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12\x32\n\x11package_blocklist\x18\x07 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x1at\n\x05\x46lags\x12\x15\n\rempty_sysroot\x18\x01 \x01(\x08\x12\x19\n\x11toolchain_changed\x18\x02 \x01(\x08\x12\x15\n\rcode_coverage\x18\x03 \x01(\x08\x12\"\n\x1atestable_packages_optional\x18\x04 \x01(\x08\"\x8e\x01\n\x1b\x42uildTargetUnitTestResponse\x12\x14\n\x0ctarball_path\x18\x01 \x01(\t\x12\x30\n\x0f\x66\x61iled_packages\x18\x02 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12\'\n\x06\x65vents\x18\x03 \x03(\x0b\x32\x17.chromiumos.MetricEvent\"=\n\x17\x43hromiteUnitTestRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\"\x1a\n\x18\x43hromiteUnitTestResponse\";\n\x15\x43hromitePytestRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\"\x18\n\x16\x43hromitePytestResponse\"<\n\x16\x43rosSigningTestRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\"\x19\n\x17\x43rosSigningTestResponse\"b\n\x14\x44\x65\x62ugInfoTestRequest\x12&\n\x07sysroot\x18\x01 \x01(\x0b\x32\x15.chromite.api.Sysroot\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\"\x17\n\x15\x44\x65\x62ugInfoTestResponse\"\xd2\x03\n\rVmTestRequest\x12-\n\x0c\x62uild_target\x18\x01 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\x12!\n\x07vm_path\x18\x03 \x01(\x0b\x32\x10.chromiumos.Path\x12;\n\x0bssh_options\x18\x04 \x01(\x0b\x32&.chromite.api.VmTestRequest.SshOptions\x12=\n\x0ctest_harness\x18\x05 \x01(\x0e\x32\'.chromite.api.VmTestRequest.TestHarness\x12\x34\n\x08vm_tests\x18\x06 \x03(\x0b\x32\".chromite.api.VmTestRequest.VmTest\x1a\x46\n\nSshOptions\x12*\n\x10private_key_path\x18\x01 \x01(\x0b\x32\x10.chromiumos.Path\x12\x0c\n\x04port\x18\x02 \x01(\x05\x1a\x19\n\x06VmTest\x12\x0f\n\x07pattern\x18\x01 \x01(\t\"6\n\x0bTestHarness\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04TAST\x10\x01\x12\x0c\n\x08\x41UTOTEST\x10\x02\"\x10\n\x0eVmTestResponse\"\xe9\x01\n\x13MoblabVmTestRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12@\n\rimage_payload\x18\x02 \x01(\x0b\x32).chromite.api.MoblabVmTestRequest.Payload\x12\x41\n\x0e\x63\x61\x63he_payloads\x18\x03 \x03(\x0b\x32).chromite.api.MoblabVmTestRequest.Payload\x1a)\n\x07Payload\x12\x1e\n\x04path\x18\x01 \x01(\x0b\x32\x10.chromiumos.Path\"\x16\n\x14MoblabVmTestResponse\"\x8b\x01\n\x1fSimpleChromeWorkflowTestRequest\x12&\n\x07sysroot\x18\x01 \x01(\x0b\x32\x15.chromite.api.Sysroot\x12\x13\n\x0b\x63hrome_root\x18\x02 \x01(\t\x12+\n\x0bgoma_config\x18\x03 \x01(\x0b\x32\x16.chromiumos.GomaConfig\"\"\n SimpleChromeWorkflowTestResponse2\xb1\x06\n\x0bTestService\x12r\n\x13\x42uildTargetUnitTest\x12(.chromite.api.BuildTargetUnitTestRequest\x1a).chromite.api.BuildTargetUnitTestResponse\"\x06\xc2\xed\x1a\x02\x10\x02\x12\x61\n\x10\x43hromiteUnitTest\x12%.chromite.api.ChromiteUnitTestRequest\x1a&.chromite.api.ChromiteUnitTestResponse\x12[\n\x0e\x43hromitePytest\x12#.chromite.api.ChromitePytestRequest\x1a$.chromite.api.ChromitePytestResponse\x12^\n\x0f\x43rosSigningTest\x12$.chromite.api.CrosSigningTestRequest\x1a%.chromite.api.CrosSigningTestResponse\x12X\n\rDebugInfoTest\x12\".chromite.api.DebugInfoTestRequest\x1a#.chromite.api.DebugInfoTestResponse\x12\x43\n\x06VmTest\x12\x1b.chromite.api.VmTestRequest\x1a\x1c.chromite.api.VmTestResponse\x12]\n\x0cMoblabVmTest\x12!.chromite.api.MoblabVmTestRequest\x1a\".chromite.api.MoblabVmTestResponse\"\x06\xc2\xed\x1a\x02\x10\x02\x12\x81\x01\n\x18SimpleChromeWorkflowTest\x12-.chromite.api.SimpleChromeWorkflowTestRequest\x1a..chromite.api.SimpleChromeWorkflowTestResponse\"\x06\xc2\xed\x1a\x02\x10\x02\x1a\x0c\xc2\xed\x1a\x08\n\x04test\x10\x01\x42\x38Z6go.chromium.org/chromiumos/infra/proto/go/chromite/apib\x06proto3')
  ,
  dependencies=[chromite_dot_api_dot_build__api__pb2.DESCRIPTOR,chromite_dot_api_dot_sysroot__pb2.DESCRIPTOR,chromiumos_dot_common__pb2.DESCRIPTOR,chromiumos_dot_metrics__pb2.DESCRIPTOR,])



_VMTESTREQUEST_TESTHARNESS = _descriptor.EnumDescriptor(
  name='TestHarness',
  full_name='chromite.api.VmTestRequest.TestHarness',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TAST', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='AUTOTEST', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1563,
  serialized_end=1617,
)
_sym_db.RegisterEnumDescriptor(_VMTESTREQUEST_TESTHARNESS)


_BUILDTARGETUNITTESTREQUEST_FLAGS = _descriptor.Descriptor(
  name='Flags',
  full_name='chromite.api.BuildTargetUnitTestRequest.Flags',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='empty_sysroot', full_name='chromite.api.BuildTargetUnitTestRequest.Flags.empty_sysroot', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='toolchain_changed', full_name='chromite.api.BuildTargetUnitTestRequest.Flags.toolchain_changed', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='code_coverage', full_name='chromite.api.BuildTargetUnitTestRequest.Flags.code_coverage', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='testable_packages_optional', full_name='chromite.api.BuildTargetUnitTestRequest.Flags.testable_packages_optional', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=495,
  serialized_end=611,
)

_BUILDTARGETUNITTESTREQUEST = _descriptor.Descriptor(
  name='BuildTargetUnitTestRequest',
  full_name='chromite.api.BuildTargetUnitTestRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.BuildTargetUnitTestRequest.build_target', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='result_path', full_name='chromite.api.BuildTargetUnitTestRequest.result_path', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BuildTargetUnitTestRequest.chroot', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='flags', full_name='chromite.api.BuildTargetUnitTestRequest.flags', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='package_blacklist', full_name='chromite.api.BuildTargetUnitTestRequest.package_blacklist', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='packages', full_name='chromite.api.BuildTargetUnitTestRequest.packages', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='package_blocklist', full_name='chromite.api.BuildTargetUnitTestRequest.package_blocklist', index=6,
      number=7, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_BUILDTARGETUNITTESTREQUEST_FLAGS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=151,
  serialized_end=611,
)


_BUILDTARGETUNITTESTRESPONSE = _descriptor.Descriptor(
  name='BuildTargetUnitTestResponse',
  full_name='chromite.api.BuildTargetUnitTestResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tarball_path', full_name='chromite.api.BuildTargetUnitTestResponse.tarball_path', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='failed_packages', full_name='chromite.api.BuildTargetUnitTestResponse.failed_packages', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='events', full_name='chromite.api.BuildTargetUnitTestResponse.events', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=614,
  serialized_end=756,
)


_CHROMITEUNITTESTREQUEST = _descriptor.Descriptor(
  name='ChromiteUnitTestRequest',
  full_name='chromite.api.ChromiteUnitTestRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.ChromiteUnitTestRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=758,
  serialized_end=819,
)


_CHROMITEUNITTESTRESPONSE = _descriptor.Descriptor(
  name='ChromiteUnitTestResponse',
  full_name='chromite.api.ChromiteUnitTestResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=821,
  serialized_end=847,
)


_CHROMITEPYTESTREQUEST = _descriptor.Descriptor(
  name='ChromitePytestRequest',
  full_name='chromite.api.ChromitePytestRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.ChromitePytestRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=849,
  serialized_end=908,
)


_CHROMITEPYTESTRESPONSE = _descriptor.Descriptor(
  name='ChromitePytestResponse',
  full_name='chromite.api.ChromitePytestResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=910,
  serialized_end=934,
)


_CROSSIGNINGTESTREQUEST = _descriptor.Descriptor(
  name='CrosSigningTestRequest',
  full_name='chromite.api.CrosSigningTestRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.CrosSigningTestRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=936,
  serialized_end=996,
)


_CROSSIGNINGTESTRESPONSE = _descriptor.Descriptor(
  name='CrosSigningTestResponse',
  full_name='chromite.api.CrosSigningTestResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=998,
  serialized_end=1023,
)


_DEBUGINFOTESTREQUEST = _descriptor.Descriptor(
  name='DebugInfoTestRequest',
  full_name='chromite.api.DebugInfoTestRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sysroot', full_name='chromite.api.DebugInfoTestRequest.sysroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.DebugInfoTestRequest.chroot', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1025,
  serialized_end=1123,
)


_DEBUGINFOTESTRESPONSE = _descriptor.Descriptor(
  name='DebugInfoTestResponse',
  full_name='chromite.api.DebugInfoTestResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1125,
  serialized_end=1148,
)


_VMTESTREQUEST_SSHOPTIONS = _descriptor.Descriptor(
  name='SshOptions',
  full_name='chromite.api.VmTestRequest.SshOptions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='private_key_path', full_name='chromite.api.VmTestRequest.SshOptions.private_key_path', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='port', full_name='chromite.api.VmTestRequest.SshOptions.port', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1464,
  serialized_end=1534,
)

_VMTESTREQUEST_VMTEST = _descriptor.Descriptor(
  name='VmTest',
  full_name='chromite.api.VmTestRequest.VmTest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pattern', full_name='chromite.api.VmTestRequest.VmTest.pattern', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1536,
  serialized_end=1561,
)

_VMTESTREQUEST = _descriptor.Descriptor(
  name='VmTestRequest',
  full_name='chromite.api.VmTestRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.VmTestRequest.build_target', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.VmTestRequest.chroot', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='vm_path', full_name='chromite.api.VmTestRequest.vm_path', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ssh_options', full_name='chromite.api.VmTestRequest.ssh_options', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='test_harness', full_name='chromite.api.VmTestRequest.test_harness', index=4,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='vm_tests', full_name='chromite.api.VmTestRequest.vm_tests', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_VMTESTREQUEST_SSHOPTIONS, _VMTESTREQUEST_VMTEST, ],
  enum_types=[
    _VMTESTREQUEST_TESTHARNESS,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1151,
  serialized_end=1617,
)


_VMTESTRESPONSE = _descriptor.Descriptor(
  name='VmTestResponse',
  full_name='chromite.api.VmTestResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1619,
  serialized_end=1635,
)


_MOBLABVMTESTREQUEST_PAYLOAD = _descriptor.Descriptor(
  name='Payload',
  full_name='chromite.api.MoblabVmTestRequest.Payload',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='chromite.api.MoblabVmTestRequest.Payload.path', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1830,
  serialized_end=1871,
)

_MOBLABVMTESTREQUEST = _descriptor.Descriptor(
  name='MoblabVmTestRequest',
  full_name='chromite.api.MoblabVmTestRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.MoblabVmTestRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='image_payload', full_name='chromite.api.MoblabVmTestRequest.image_payload', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='cache_payloads', full_name='chromite.api.MoblabVmTestRequest.cache_payloads', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_MOBLABVMTESTREQUEST_PAYLOAD, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1638,
  serialized_end=1871,
)


_MOBLABVMTESTRESPONSE = _descriptor.Descriptor(
  name='MoblabVmTestResponse',
  full_name='chromite.api.MoblabVmTestResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1873,
  serialized_end=1895,
)


_SIMPLECHROMEWORKFLOWTESTREQUEST = _descriptor.Descriptor(
  name='SimpleChromeWorkflowTestRequest',
  full_name='chromite.api.SimpleChromeWorkflowTestRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sysroot', full_name='chromite.api.SimpleChromeWorkflowTestRequest.sysroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chrome_root', full_name='chromite.api.SimpleChromeWorkflowTestRequest.chrome_root', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='goma_config', full_name='chromite.api.SimpleChromeWorkflowTestRequest.goma_config', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1898,
  serialized_end=2037,
)


_SIMPLECHROMEWORKFLOWTESTRESPONSE = _descriptor.Descriptor(
  name='SimpleChromeWorkflowTestResponse',
  full_name='chromite.api.SimpleChromeWorkflowTestResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2039,
  serialized_end=2073,
)

_BUILDTARGETUNITTESTREQUEST_FLAGS.containing_type = _BUILDTARGETUNITTESTREQUEST
_BUILDTARGETUNITTESTREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_BUILDTARGETUNITTESTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUILDTARGETUNITTESTREQUEST.fields_by_name['flags'].message_type = _BUILDTARGETUNITTESTREQUEST_FLAGS
_BUILDTARGETUNITTESTREQUEST.fields_by_name['package_blacklist'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_BUILDTARGETUNITTESTREQUEST.fields_by_name['packages'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_BUILDTARGETUNITTESTREQUEST.fields_by_name['package_blocklist'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_BUILDTARGETUNITTESTRESPONSE.fields_by_name['failed_packages'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_BUILDTARGETUNITTESTRESPONSE.fields_by_name['events'].message_type = chromiumos_dot_metrics__pb2._METRICEVENT
_CHROMITEUNITTESTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_CHROMITEPYTESTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_CROSSIGNINGTESTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_DEBUGINFOTESTREQUEST.fields_by_name['sysroot'].message_type = chromite_dot_api_dot_sysroot__pb2._SYSROOT
_DEBUGINFOTESTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_VMTESTREQUEST_SSHOPTIONS.fields_by_name['private_key_path'].message_type = chromiumos_dot_common__pb2._PATH
_VMTESTREQUEST_SSHOPTIONS.containing_type = _VMTESTREQUEST
_VMTESTREQUEST_VMTEST.containing_type = _VMTESTREQUEST
_VMTESTREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_VMTESTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_VMTESTREQUEST.fields_by_name['vm_path'].message_type = chromiumos_dot_common__pb2._PATH
_VMTESTREQUEST.fields_by_name['ssh_options'].message_type = _VMTESTREQUEST_SSHOPTIONS
_VMTESTREQUEST.fields_by_name['test_harness'].enum_type = _VMTESTREQUEST_TESTHARNESS
_VMTESTREQUEST.fields_by_name['vm_tests'].message_type = _VMTESTREQUEST_VMTEST
_VMTESTREQUEST_TESTHARNESS.containing_type = _VMTESTREQUEST
_MOBLABVMTESTREQUEST_PAYLOAD.fields_by_name['path'].message_type = chromiumos_dot_common__pb2._PATH
_MOBLABVMTESTREQUEST_PAYLOAD.containing_type = _MOBLABVMTESTREQUEST
_MOBLABVMTESTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_MOBLABVMTESTREQUEST.fields_by_name['image_payload'].message_type = _MOBLABVMTESTREQUEST_PAYLOAD
_MOBLABVMTESTREQUEST.fields_by_name['cache_payloads'].message_type = _MOBLABVMTESTREQUEST_PAYLOAD
_SIMPLECHROMEWORKFLOWTESTREQUEST.fields_by_name['sysroot'].message_type = chromite_dot_api_dot_sysroot__pb2._SYSROOT
_SIMPLECHROMEWORKFLOWTESTREQUEST.fields_by_name['goma_config'].message_type = chromiumos_dot_common__pb2._GOMACONFIG
DESCRIPTOR.message_types_by_name['BuildTargetUnitTestRequest'] = _BUILDTARGETUNITTESTREQUEST
DESCRIPTOR.message_types_by_name['BuildTargetUnitTestResponse'] = _BUILDTARGETUNITTESTRESPONSE
DESCRIPTOR.message_types_by_name['ChromiteUnitTestRequest'] = _CHROMITEUNITTESTREQUEST
DESCRIPTOR.message_types_by_name['ChromiteUnitTestResponse'] = _CHROMITEUNITTESTRESPONSE
DESCRIPTOR.message_types_by_name['ChromitePytestRequest'] = _CHROMITEPYTESTREQUEST
DESCRIPTOR.message_types_by_name['ChromitePytestResponse'] = _CHROMITEPYTESTRESPONSE
DESCRIPTOR.message_types_by_name['CrosSigningTestRequest'] = _CROSSIGNINGTESTREQUEST
DESCRIPTOR.message_types_by_name['CrosSigningTestResponse'] = _CROSSIGNINGTESTRESPONSE
DESCRIPTOR.message_types_by_name['DebugInfoTestRequest'] = _DEBUGINFOTESTREQUEST
DESCRIPTOR.message_types_by_name['DebugInfoTestResponse'] = _DEBUGINFOTESTRESPONSE
DESCRIPTOR.message_types_by_name['VmTestRequest'] = _VMTESTREQUEST
DESCRIPTOR.message_types_by_name['VmTestResponse'] = _VMTESTRESPONSE
DESCRIPTOR.message_types_by_name['MoblabVmTestRequest'] = _MOBLABVMTESTREQUEST
DESCRIPTOR.message_types_by_name['MoblabVmTestResponse'] = _MOBLABVMTESTRESPONSE
DESCRIPTOR.message_types_by_name['SimpleChromeWorkflowTestRequest'] = _SIMPLECHROMEWORKFLOWTESTREQUEST
DESCRIPTOR.message_types_by_name['SimpleChromeWorkflowTestResponse'] = _SIMPLECHROMEWORKFLOWTESTRESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

BuildTargetUnitTestRequest = _reflection.GeneratedProtocolMessageType('BuildTargetUnitTestRequest', (_message.Message,), dict(

  Flags = _reflection.GeneratedProtocolMessageType('Flags', (_message.Message,), dict(
    DESCRIPTOR = _BUILDTARGETUNITTESTREQUEST_FLAGS,
    __module__ = 'chromite.api.test_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.BuildTargetUnitTestRequest.Flags)
    ))
  ,
  DESCRIPTOR = _BUILDTARGETUNITTESTREQUEST,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildTargetUnitTestRequest)
  ))
_sym_db.RegisterMessage(BuildTargetUnitTestRequest)
_sym_db.RegisterMessage(BuildTargetUnitTestRequest.Flags)

BuildTargetUnitTestResponse = _reflection.GeneratedProtocolMessageType('BuildTargetUnitTestResponse', (_message.Message,), dict(
  DESCRIPTOR = _BUILDTARGETUNITTESTRESPONSE,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildTargetUnitTestResponse)
  ))
_sym_db.RegisterMessage(BuildTargetUnitTestResponse)

ChromiteUnitTestRequest = _reflection.GeneratedProtocolMessageType('ChromiteUnitTestRequest', (_message.Message,), dict(
  DESCRIPTOR = _CHROMITEUNITTESTREQUEST,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.ChromiteUnitTestRequest)
  ))
_sym_db.RegisterMessage(ChromiteUnitTestRequest)

ChromiteUnitTestResponse = _reflection.GeneratedProtocolMessageType('ChromiteUnitTestResponse', (_message.Message,), dict(
  DESCRIPTOR = _CHROMITEUNITTESTRESPONSE,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.ChromiteUnitTestResponse)
  ))
_sym_db.RegisterMessage(ChromiteUnitTestResponse)

ChromitePytestRequest = _reflection.GeneratedProtocolMessageType('ChromitePytestRequest', (_message.Message,), dict(
  DESCRIPTOR = _CHROMITEPYTESTREQUEST,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.ChromitePytestRequest)
  ))
_sym_db.RegisterMessage(ChromitePytestRequest)

ChromitePytestResponse = _reflection.GeneratedProtocolMessageType('ChromitePytestResponse', (_message.Message,), dict(
  DESCRIPTOR = _CHROMITEPYTESTRESPONSE,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.ChromitePytestResponse)
  ))
_sym_db.RegisterMessage(ChromitePytestResponse)

CrosSigningTestRequest = _reflection.GeneratedProtocolMessageType('CrosSigningTestRequest', (_message.Message,), dict(
  DESCRIPTOR = _CROSSIGNINGTESTREQUEST,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.CrosSigningTestRequest)
  ))
_sym_db.RegisterMessage(CrosSigningTestRequest)

CrosSigningTestResponse = _reflection.GeneratedProtocolMessageType('CrosSigningTestResponse', (_message.Message,), dict(
  DESCRIPTOR = _CROSSIGNINGTESTRESPONSE,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.CrosSigningTestResponse)
  ))
_sym_db.RegisterMessage(CrosSigningTestResponse)

DebugInfoTestRequest = _reflection.GeneratedProtocolMessageType('DebugInfoTestRequest', (_message.Message,), dict(
  DESCRIPTOR = _DEBUGINFOTESTREQUEST,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.DebugInfoTestRequest)
  ))
_sym_db.RegisterMessage(DebugInfoTestRequest)

DebugInfoTestResponse = _reflection.GeneratedProtocolMessageType('DebugInfoTestResponse', (_message.Message,), dict(
  DESCRIPTOR = _DEBUGINFOTESTRESPONSE,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.DebugInfoTestResponse)
  ))
_sym_db.RegisterMessage(DebugInfoTestResponse)

VmTestRequest = _reflection.GeneratedProtocolMessageType('VmTestRequest', (_message.Message,), dict(

  SshOptions = _reflection.GeneratedProtocolMessageType('SshOptions', (_message.Message,), dict(
    DESCRIPTOR = _VMTESTREQUEST_SSHOPTIONS,
    __module__ = 'chromite.api.test_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.VmTestRequest.SshOptions)
    ))
  ,

  VmTest = _reflection.GeneratedProtocolMessageType('VmTest', (_message.Message,), dict(
    DESCRIPTOR = _VMTESTREQUEST_VMTEST,
    __module__ = 'chromite.api.test_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.VmTestRequest.VmTest)
    ))
  ,
  DESCRIPTOR = _VMTESTREQUEST,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.VmTestRequest)
  ))
_sym_db.RegisterMessage(VmTestRequest)
_sym_db.RegisterMessage(VmTestRequest.SshOptions)
_sym_db.RegisterMessage(VmTestRequest.VmTest)

VmTestResponse = _reflection.GeneratedProtocolMessageType('VmTestResponse', (_message.Message,), dict(
  DESCRIPTOR = _VMTESTRESPONSE,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.VmTestResponse)
  ))
_sym_db.RegisterMessage(VmTestResponse)

MoblabVmTestRequest = _reflection.GeneratedProtocolMessageType('MoblabVmTestRequest', (_message.Message,), dict(

  Payload = _reflection.GeneratedProtocolMessageType('Payload', (_message.Message,), dict(
    DESCRIPTOR = _MOBLABVMTESTREQUEST_PAYLOAD,
    __module__ = 'chromite.api.test_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.MoblabVmTestRequest.Payload)
    ))
  ,
  DESCRIPTOR = _MOBLABVMTESTREQUEST,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.MoblabVmTestRequest)
  ))
_sym_db.RegisterMessage(MoblabVmTestRequest)
_sym_db.RegisterMessage(MoblabVmTestRequest.Payload)

MoblabVmTestResponse = _reflection.GeneratedProtocolMessageType('MoblabVmTestResponse', (_message.Message,), dict(
  DESCRIPTOR = _MOBLABVMTESTRESPONSE,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.MoblabVmTestResponse)
  ))
_sym_db.RegisterMessage(MoblabVmTestResponse)

SimpleChromeWorkflowTestRequest = _reflection.GeneratedProtocolMessageType('SimpleChromeWorkflowTestRequest', (_message.Message,), dict(
  DESCRIPTOR = _SIMPLECHROMEWORKFLOWTESTREQUEST,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.SimpleChromeWorkflowTestRequest)
  ))
_sym_db.RegisterMessage(SimpleChromeWorkflowTestRequest)

SimpleChromeWorkflowTestResponse = _reflection.GeneratedProtocolMessageType('SimpleChromeWorkflowTestResponse', (_message.Message,), dict(
  DESCRIPTOR = _SIMPLECHROMEWORKFLOWTESTRESPONSE,
  __module__ = 'chromite.api.test_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.SimpleChromeWorkflowTestResponse)
  ))
_sym_db.RegisterMessage(SimpleChromeWorkflowTestResponse)


DESCRIPTOR._options = None

_TESTSERVICE = _descriptor.ServiceDescriptor(
  name='TestService',
  full_name='chromite.api.TestService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=_b('\302\355\032\010\n\004test\020\001'),
  serialized_start=2076,
  serialized_end=2893,
  methods=[
  _descriptor.MethodDescriptor(
    name='BuildTargetUnitTest',
    full_name='chromite.api.TestService.BuildTargetUnitTest',
    index=0,
    containing_service=None,
    input_type=_BUILDTARGETUNITTESTREQUEST,
    output_type=_BUILDTARGETUNITTESTRESPONSE,
    serialized_options=_b('\302\355\032\002\020\002'),
  ),
  _descriptor.MethodDescriptor(
    name='ChromiteUnitTest',
    full_name='chromite.api.TestService.ChromiteUnitTest',
    index=1,
    containing_service=None,
    input_type=_CHROMITEUNITTESTREQUEST,
    output_type=_CHROMITEUNITTESTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='ChromitePytest',
    full_name='chromite.api.TestService.ChromitePytest',
    index=2,
    containing_service=None,
    input_type=_CHROMITEPYTESTREQUEST,
    output_type=_CHROMITEPYTESTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='CrosSigningTest',
    full_name='chromite.api.TestService.CrosSigningTest',
    index=3,
    containing_service=None,
    input_type=_CROSSIGNINGTESTREQUEST,
    output_type=_CROSSIGNINGTESTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='DebugInfoTest',
    full_name='chromite.api.TestService.DebugInfoTest',
    index=4,
    containing_service=None,
    input_type=_DEBUGINFOTESTREQUEST,
    output_type=_DEBUGINFOTESTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='VmTest',
    full_name='chromite.api.TestService.VmTest',
    index=5,
    containing_service=None,
    input_type=_VMTESTREQUEST,
    output_type=_VMTESTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='MoblabVmTest',
    full_name='chromite.api.TestService.MoblabVmTest',
    index=6,
    containing_service=None,
    input_type=_MOBLABVMTESTREQUEST,
    output_type=_MOBLABVMTESTRESPONSE,
    serialized_options=_b('\302\355\032\002\020\002'),
  ),
  _descriptor.MethodDescriptor(
    name='SimpleChromeWorkflowTest',
    full_name='chromite.api.TestService.SimpleChromeWorkflowTest',
    index=7,
    containing_service=None,
    input_type=_SIMPLECHROMEWORKFLOWTESTREQUEST,
    output_type=_SIMPLECHROMEWORKFLOWTESTRESPONSE,
    serialized_options=_b('\302\355\032\002\020\002'),
  ),
])
_sym_db.RegisterServiceDescriptor(_TESTSERVICE)

DESCRIPTOR.services_by_name['TestService'] = _TESTSERVICE

# @@protoc_insertion_point(module_scope)
