build_api: Allow BuildTargetUnitTest to specify packages to be run.
Currently, all testable packages are always tested. Allow, only
specified packages to be tested.
BUG=chromium:1102809
TEST=run_pytest
Cq-Depend: chromium:2289493
Change-Id: I52ec8256d169145c2f06e3e607832c6d4c1bdd3a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2289494
Tested-by: Navil Perez <navil@google.com>
Reviewed-by: Alex Klein <saklein@chromium.org>
Commit-Queue: Navil Perez <navil@google.com>
diff --git a/api/controller/test.py b/api/controller/test.py
index 05dbf95..c7043d6 100644
--- a/api/controller/test.py
+++ b/api/controller/test.py
@@ -94,6 +94,12 @@
# certain boards that need to use prebuilts (e.g. grunt's unittest-only).
was_built = not input_proto.flags.empty_sysroot
+ # Packages to be tested.
+ packages_package_info = input_proto.packages
+ packages = []
+ for package_info in packages_package_info:
+ packages.append(controller_util.PackageInfoToString(package_info))
+
# Skipped tests.
blacklisted_package_info = input_proto.package_blacklist
blacklist = []
@@ -103,8 +109,12 @@
build_target = controller_util.ParseBuildTarget(input_proto.build_target)
chroot = controller_util.ParseChroot(input_proto.chroot)
- result = test.BuildTargetUnitTest(build_target, chroot, blacklist=blacklist,
- was_built=was_built)
+ result = test.BuildTargetUnitTest(
+ build_target,
+ chroot,
+ packages=packages,
+ blacklist=blacklist,
+ was_built=was_built)
if not result.success:
# Failed to run tests or some tests failed.