controller: add UNIT_TESTS artifact
BUG=b:181879769
TEST=new unit & cq
Change-Id: I5bff7500186759ffae21d3876b4d011a2a8e5214
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2979632
Commit-Queue: George Engelbrecht <engeg@google.com>
Tested-by: George Engelbrecht <engeg@google.com>
Reviewed-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Jack Neus <jackneus@google.com>
diff --git a/api/controller/test.py b/api/controller/test.py
index 01ad917..2f47f4c 100644
--- a/api/controller/test.py
+++ b/api/controller/test.py
@@ -18,13 +18,13 @@
from chromite.api.gen.chromiumos import common_pb2
from chromite.cbuildbot import goma_util
from chromite.lib import build_target_lib
+from chromite.lib import chroot_lib
from chromite.lib import constants
from chromite.lib import cros_build_lib
from chromite.lib import image_lib
from chromite.lib import osutils
from chromite.lib import sysroot_lib
from chromite.lib.parser import package_info
-from chromite.lib import chroot_lib
from chromite.scripts import cros_set_lsb_release
from chromite.service import test
from chromite.utils import key_value_store
@@ -343,14 +343,21 @@
A list of dictionary mappings of ArtifactType to list of paths.
"""
generated = []
+
+ artifact_types = {
+ in_proto.ArtifactType.UNIT_TESTS: test.BuildTargetUnitTestTarball,
+ in_proto.ArtifactType.CODE_COVERAGE_LLVM_JSON:
+ test.BundleCodeCoverageLlvmJson,
+ }
+
for output_artifact in in_proto.output_artifacts:
- if (in_proto.ArtifactType.CODE_COVERAGE_LLVM_JSON
- in output_artifact.artifact_types):
- result_path = test.BundleCodeCoverageLlvmJson(chroot, sysroot_class,
- output_dir)
- if result_path:
- generated.append({
- 'paths': [result_path],
- 'type': in_proto.ArtifactType.CODE_COVERAGE_LLVM_JSON
- })
+ for artifact_type, func in artifact_types.items():
+ if artifact_type in output_artifact.artifact_types:
+ paths = func(chroot, sysroot_class, output_dir)
+ if paths:
+ generated.append({
+ 'paths': [paths] if isinstance(paths, str) else paths,
+ 'type': artifact_type,
+ })
+
return generated