test: Use testable_packages_optional to allow no tests to be found.

If testable_packages_optional pass in --no-testable-packages-ok to the
cros_run_unit_test script.

BUG=chromium:1124357
TEST=./run_pytest

Cq-Depend: chromium:2404087
Change-Id: I5b0b67b3ffd3ccb2d5ea7434b2d7e054704b3fa5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2404271
Reviewed-by: Sean Abraham <seanabraham@chromium.org>
Reviewed-by: Alex Klein <saklein@chromium.org>
Commit-Queue: Navil Perez <navil@google.com>
Tested-by: Navil Perez <navil@google.com>
diff --git a/api/controller/test.py b/api/controller/test.py
index dfe6045..4a8ddfd 100644
--- a/api/controller/test.py
+++ b/api/controller/test.py
@@ -106,6 +106,9 @@
   for package_info in blacklisted_package_info:
     blacklist.append(controller_util.PackageInfoToString(package_info))
 
+  # Allow call to succeed if no tests were found.
+  testable_packages_optional = input_proto.flags.testable_packages_optional
+
   build_target = controller_util.ParseBuildTarget(input_proto.build_target)
   chroot = controller_util.ParseChroot(input_proto.chroot)
 
@@ -117,7 +120,8 @@
       packages=packages,
       blacklist=blacklist,
       was_built=was_built,
-      code_coverage=code_coverage)
+      code_coverage=code_coverage,
+      testable_packages_optional=testable_packages_optional)
 
   if not result.success:
     # Failed to run tests or some tests failed.