Build API: Make autotest more generic.

BUG=chromium:933984
TEST=run_tests

Change-Id: I2764716ff89b8668db7621b3e9e6cfe808c8018a
Reviewed-on: https://chromium-review.googlesource.com/1480630
Commit-Ready: Alex Klein <saklein@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Alex Klein <saklein@chromium.org>
Reviewed-by: C Shapiro <shapiroc@chromium.org>
diff --git a/api/build_api.py b/api/build_api.py
index 00959eb..3df89e0 100644
--- a/api/build_api.py
+++ b/api/build_api.py
@@ -13,10 +13,10 @@
 from google.protobuf import symbol_database
 
 from chromite.api import service
-from chromite.api.gen import autotest_pb2
 from chromite.api.gen import build_api_pb2
 from chromite.api.gen import depgraph_pb2
 from chromite.api.gen import image_pb2
+from chromite.api.gen import test_archive_pb2
 from chromite.lib import commandline
 from chromite.lib import cros_build_lib
 from chromite.lib import osutils
@@ -232,9 +232,9 @@
   Args:
     router (Router): The router.
   """
-  router.Register(autotest_pb2)
   router.Register(depgraph_pb2)
   router.Register(image_pb2)
+  router.Register(test_archive_pb2)
 
 
 def main(argv):
diff --git a/api/gen/autotest_pb2.py b/api/gen/autotest_pb2.py
deleted file mode 100644
index 3faf323..0000000
--- a/api/gen/autotest_pb2.py
+++ /dev/null
@@ -1,183 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: autotest.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()
-
-
-import build_api_pb2 as build__api__pb2
-import common_pb2 as common__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='autotest.proto',
-  package='chromite.api',
-  syntax='proto3',
-  serialized_options=None,
-  serialized_pb=_b('\n\x0e\x61utotest.proto\x12\x0c\x63hromite.api\x1a\x0f\x62uild_api.proto\x1a\x0c\x63ommon.proto\"[\n\x1b\x43reateHwTestArchivesRequest\x12\"\n\x0c\x62uild_target\x18\x01 \x01(\x0b\x32\x0c.BuildTarget\x12\x18\n\x10output_directory\x18\x02 \x01(\t\"\x1b\n\x0b\x41rchiveFile\x12\x0c\n\x04path\x18\x01 \x01(\t\"H\n\x1c\x43reateHwTestArchivesResponse\x12(\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x19.chromite.api.ArchiveFile2\x97\x01\n\x0e\x41rchiveService\x12m\n\x14\x43reateHwTestArchives\x12).chromite.api.CreateHwTestArchivesRequest\x1a*.chromite.api.CreateHwTestArchivesResponse\x1a\x16\xc2\xed\x1a\x12\n\x10\x61utotest_archiveb\x06proto3')
-  ,
-  dependencies=[build__api__pb2.DESCRIPTOR,common__pb2.DESCRIPTOR,])
-
-
-
-
-_CREATEHWTESTARCHIVESREQUEST = _descriptor.Descriptor(
-  name='CreateHwTestArchivesRequest',
-  full_name='chromite.api.CreateHwTestArchivesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='build_target', full_name='chromite.api.CreateHwTestArchivesRequest.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='output_directory', full_name='chromite.api.CreateHwTestArchivesRequest.output_directory', 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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=63,
-  serialized_end=154,
-)
-
-
-_ARCHIVEFILE = _descriptor.Descriptor(
-  name='ArchiveFile',
-  full_name='chromite.api.ArchiveFile',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='path', full_name='chromite.api.ArchiveFile.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),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=156,
-  serialized_end=183,
-)
-
-
-_CREATEHWTESTARCHIVESRESPONSE = _descriptor.Descriptor(
-  name='CreateHwTestArchivesResponse',
-  full_name='chromite.api.CreateHwTestArchivesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='files', full_name='chromite.api.CreateHwTestArchivesResponse.files', index=0,
-      number=1, 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=185,
-  serialized_end=257,
-)
-
-_CREATEHWTESTARCHIVESREQUEST.fields_by_name['build_target'].message_type = common__pb2._BUILDTARGET
-_CREATEHWTESTARCHIVESRESPONSE.fields_by_name['files'].message_type = _ARCHIVEFILE
-DESCRIPTOR.message_types_by_name['CreateHwTestArchivesRequest'] = _CREATEHWTESTARCHIVESREQUEST
-DESCRIPTOR.message_types_by_name['ArchiveFile'] = _ARCHIVEFILE
-DESCRIPTOR.message_types_by_name['CreateHwTestArchivesResponse'] = _CREATEHWTESTARCHIVESRESPONSE
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-CreateHwTestArchivesRequest = _reflection.GeneratedProtocolMessageType('CreateHwTestArchivesRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CREATEHWTESTARCHIVESREQUEST,
-  __module__ = 'autotest_pb2'
-  # @@protoc_insertion_point(class_scope:chromite.api.CreateHwTestArchivesRequest)
-  ))
-_sym_db.RegisterMessage(CreateHwTestArchivesRequest)
-
-ArchiveFile = _reflection.GeneratedProtocolMessageType('ArchiveFile', (_message.Message,), dict(
-  DESCRIPTOR = _ARCHIVEFILE,
-  __module__ = 'autotest_pb2'
-  # @@protoc_insertion_point(class_scope:chromite.api.ArchiveFile)
-  ))
-_sym_db.RegisterMessage(ArchiveFile)
-
-CreateHwTestArchivesResponse = _reflection.GeneratedProtocolMessageType('CreateHwTestArchivesResponse', (_message.Message,), dict(
-  DESCRIPTOR = _CREATEHWTESTARCHIVESRESPONSE,
-  __module__ = 'autotest_pb2'
-  # @@protoc_insertion_point(class_scope:chromite.api.CreateHwTestArchivesResponse)
-  ))
-_sym_db.RegisterMessage(CreateHwTestArchivesResponse)
-
-
-
-_ARCHIVESERVICE = _descriptor.ServiceDescriptor(
-  name='ArchiveService',
-  full_name='chromite.api.ArchiveService',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=_b('\302\355\032\022\n\020autotest_archive'),
-  serialized_start=260,
-  serialized_end=411,
-  methods=[
-  _descriptor.MethodDescriptor(
-    name='CreateHwTestArchives',
-    full_name='chromite.api.ArchiveService.CreateHwTestArchives',
-    index=0,
-    containing_service=None,
-    input_type=_CREATEHWTESTARCHIVESREQUEST,
-    output_type=_CREATEHWTESTARCHIVESRESPONSE,
-    serialized_options=None,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_ARCHIVESERVICE)
-
-DESCRIPTOR.services_by_name['ArchiveService'] = _ARCHIVESERVICE
-
-# @@protoc_insertion_point(module_scope)
diff --git a/api/gen/test_archive_pb2.py b/api/gen/test_archive_pb2.py
new file mode 100644
index 0000000..7694718
--- /dev/null
+++ b/api/gen/test_archive_pb2.py
@@ -0,0 +1,183 @@
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: test_archive.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()
+
+
+import build_api_pb2 as build__api__pb2
+import common_pb2 as common__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='test_archive.proto',
+  package='chromite.api',
+  syntax='proto3',
+  serialized_options=None,
+  serialized_pb=_b('\n\x12test_archive.proto\x12\x0c\x63hromite.api\x1a\x0f\x62uild_api.proto\x1a\x0c\x63ommon.proto\"T\n\x14\x43reateArchiveRequest\x12\"\n\x0c\x62uild_target\x18\x01 \x01(\x0b\x32\x0c.BuildTarget\x12\x18\n\x10output_directory\x18\x02 \x01(\t\"\x1b\n\x0b\x41rchiveFile\x12\x0c\n\x04path\x18\x01 \x01(\t\"A\n\x15\x43reateArchiveResponse\x12(\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x19.chromite.api.ArchiveFile2\x89\x01\n\x0e\x41rchiveService\x12_\n\x14\x43reateHwTestArchives\x12\".chromite.api.CreateArchiveRequest\x1a#.chromite.api.CreateArchiveResponse\x1a\x16\xc2\xed\x1a\x12\n\x10\x61utotest_archiveb\x06proto3')
+  ,
+  dependencies=[build__api__pb2.DESCRIPTOR,common__pb2.DESCRIPTOR,])
+
+
+
+
+_CREATEARCHIVEREQUEST = _descriptor.Descriptor(
+  name='CreateArchiveRequest',
+  full_name='chromite.api.CreateArchiveRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='build_target', full_name='chromite.api.CreateArchiveRequest.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='output_directory', full_name='chromite.api.CreateArchiveRequest.output_directory', 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),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=67,
+  serialized_end=151,
+)
+
+
+_ARCHIVEFILE = _descriptor.Descriptor(
+  name='ArchiveFile',
+  full_name='chromite.api.ArchiveFile',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='path', full_name='chromite.api.ArchiveFile.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),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=153,
+  serialized_end=180,
+)
+
+
+_CREATEARCHIVERESPONSE = _descriptor.Descriptor(
+  name='CreateArchiveResponse',
+  full_name='chromite.api.CreateArchiveResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='files', full_name='chromite.api.CreateArchiveResponse.files', index=0,
+      number=1, 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=182,
+  serialized_end=247,
+)
+
+_CREATEARCHIVEREQUEST.fields_by_name['build_target'].message_type = common__pb2._BUILDTARGET
+_CREATEARCHIVERESPONSE.fields_by_name['files'].message_type = _ARCHIVEFILE
+DESCRIPTOR.message_types_by_name['CreateArchiveRequest'] = _CREATEARCHIVEREQUEST
+DESCRIPTOR.message_types_by_name['ArchiveFile'] = _ARCHIVEFILE
+DESCRIPTOR.message_types_by_name['CreateArchiveResponse'] = _CREATEARCHIVERESPONSE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+CreateArchiveRequest = _reflection.GeneratedProtocolMessageType('CreateArchiveRequest', (_message.Message,), dict(
+  DESCRIPTOR = _CREATEARCHIVEREQUEST,
+  __module__ = 'test_archive_pb2'
+  # @@protoc_insertion_point(class_scope:chromite.api.CreateArchiveRequest)
+  ))
+_sym_db.RegisterMessage(CreateArchiveRequest)
+
+ArchiveFile = _reflection.GeneratedProtocolMessageType('ArchiveFile', (_message.Message,), dict(
+  DESCRIPTOR = _ARCHIVEFILE,
+  __module__ = 'test_archive_pb2'
+  # @@protoc_insertion_point(class_scope:chromite.api.ArchiveFile)
+  ))
+_sym_db.RegisterMessage(ArchiveFile)
+
+CreateArchiveResponse = _reflection.GeneratedProtocolMessageType('CreateArchiveResponse', (_message.Message,), dict(
+  DESCRIPTOR = _CREATEARCHIVERESPONSE,
+  __module__ = 'test_archive_pb2'
+  # @@protoc_insertion_point(class_scope:chromite.api.CreateArchiveResponse)
+  ))
+_sym_db.RegisterMessage(CreateArchiveResponse)
+
+
+
+_ARCHIVESERVICE = _descriptor.ServiceDescriptor(
+  name='ArchiveService',
+  full_name='chromite.api.ArchiveService',
+  file=DESCRIPTOR,
+  index=0,
+  serialized_options=_b('\302\355\032\022\n\020autotest_archive'),
+  serialized_start=250,
+  serialized_end=387,
+  methods=[
+  _descriptor.MethodDescriptor(
+    name='CreateHwTestArchives',
+    full_name='chromite.api.ArchiveService.CreateHwTestArchives',
+    index=0,
+    containing_service=None,
+    input_type=_CREATEARCHIVEREQUEST,
+    output_type=_CREATEARCHIVERESPONSE,
+    serialized_options=None,
+  ),
+])
+_sym_db.RegisterServiceDescriptor(_ARCHIVESERVICE)
+
+DESCRIPTOR.services_by_name['ArchiveService'] = _ARCHIVESERVICE
+
+# @@protoc_insertion_point(module_scope)
diff --git a/api/proto/autotest.proto b/api/proto/test_archive.proto
similarity index 70%
rename from api/proto/autotest.proto
rename to api/proto/test_archive.proto
index 4989bef..81f4a1a 100644
--- a/api/proto/autotest.proto
+++ b/api/proto/test_archive.proto
@@ -5,12 +5,12 @@
 import "common.proto";
 
 
-// Autotest archive messages and service.
+// Test archive messages and service.
 
-// Message for creating Hardware Test archives.
+// Message for creating archives.
 // Example Json:
 // {"build_target":{"name":"board"},"output_directory":"/tmp/archives"}
-message CreateHwTestArchivesRequest {
+message CreateArchiveRequest {
   // The board whose tarballs are being created.
   BuildTarget build_target = 1;
   // The directory where the completed archive(s) should be saved.
@@ -23,8 +23,8 @@
   string path = 1;
 }
 
-// Response from creating Hardware Test archives.
-message CreateHwTestArchivesResponse {
+// Response from creating archives.
+message CreateArchiveResponse {
   // The created archive files.
   repeated ArchiveFile files = 1;
 }
@@ -37,6 +37,6 @@
   };
 
   // Create the HW Test archive.
-  rpc CreateHwTestArchives(CreateHwTestArchivesRequest)
-    returns (CreateHwTestArchivesResponse);
+  rpc CreateHwTestArchives(CreateArchiveRequest)
+    returns (CreateArchiveResponse);
 }
diff --git a/api/service/autotest_archive.py b/api/service/test_archive.py
similarity index 73%
rename from api/service/autotest_archive.py
rename to api/service/test_archive.py
index b94aa79..cdcc380 100644
--- a/api/service/autotest_archive.py
+++ b/api/service/test_archive.py
@@ -3,7 +3,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-"""Autotest archive creation service.
+"""Test archive creation service.
 
 The CI system requires archives of autotest files for a number of stages.
 This service handles the creation of those archives.
@@ -11,16 +11,16 @@
 
 from __future__ import print_function
 
-from chromite.lib.api import autotest
 from chromite.lib import cros_build_lib
+from chromite.lib.api import test_archive
 
 
 def CreateHwTestArchives(input_proto, output_proto):
   """Create the HW Test archives.
 
   Args:
-    input_proto (CreateHwTestArchiveRequest): The input arguments message.
-    output_proto (CreateHwTestArchiveResponse): The empty output message.
+    input_proto (CreateArchiveRequest): The input arguments message.
+    output_proto (CreateArchiveResponse): The empty output message.
   """
   board = input_proto.build_target.name
   output_dir = input_proto.output_directory
@@ -31,8 +31,8 @@
     cros_build_lib.Die('An output directory must be specified.')
 
   try:
-    files = autotest.CreateHwTestArchives(board, output_dir)
-  except autotest.ArchiveBaseDirNotFound as e:
+    files = test_archive.CreateHwTestArchives(board, output_dir)
+  except test_archive.ArchiveBaseDirNotFound as e:
     cros_build_lib.Die(e.message)
 
   for current in files.values():
diff --git a/lib/api/autotest.py b/lib/api/test_archive.py
similarity index 96%
rename from lib/api/autotest.py
rename to lib/api/test_archive.py
index a0e7d8e..fe06bda 100644
--- a/lib/api/autotest.py
+++ b/lib/api/test_archive.py
@@ -3,7 +3,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-"""Autotest functionality."""
+"""Test archive functionality."""
 
 from __future__ import print_function
 
@@ -34,7 +34,7 @@
 
 
 def CreateHwTestArchives(board, output_directory):
-  """Create the Autotest Hardware Test archives.
+  """Create the Hardware Test archives.
 
   Args:
     board (str): The name of the board whose artifacts are being created.