# 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\"\xf4\x02\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\x1aP\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\"\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=1475,
  serialized_end=1529,
)
_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=443,
  serialized_end=523,
)

_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),
  ],
  extensions=[
  ],
  nested_types=[_BUILDTARGETUNITTESTREQUEST_FLAGS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=151,
  serialized_end=523,
)


_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=526,
  serialized_end=668,
)


_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=670,
  serialized_end=731,
)


_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=733,
  serialized_end=759,
)


_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=761,
  serialized_end=820,
)


_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=822,
  serialized_end=846,
)


_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=848,
  serialized_end=908,
)


_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=910,
  serialized_end=935,
)


_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=937,
  serialized_end=1035,
)


_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=1037,
  serialized_end=1060,
)


_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=1376,
  serialized_end=1446,
)

_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=1448,
  serialized_end=1473,
)

_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=1063,
  serialized_end=1529,
)


_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=1531,
  serialized_end=1547,
)


_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=1742,
  serialized_end=1783,
)

_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=1550,
  serialized_end=1783,
)


_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=1785,
  serialized_end=1807,
)


_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=1810,
  serialized_end=1949,
)


_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=1951,
  serialized_end=1985,
)

_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
_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=1988,
  serialized_end=2805,
  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)
