api: controller: Fix pb2_path_to_pathlib_path() chroot assumptions
It's not valid to do path concatenation or subtraction using
chroot.path. Use chroot_lib instead.
BUG=b:265885353
TEST=./run_tests
Change-Id: I1f5be1b97a16bdb0f91ee66b0e657aa71c9c501d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4661950
Reviewed-by: Greg Edelston <gredelston@google.com>
Tested-by: Brian Norris <briannorris@chromium.org>
Commit-Queue: Brian Norris <briannorris@chromium.org>
diff --git a/api/controller/controller_util_unittest.py b/api/controller/controller_util_unittest.py
index fe2adf1..545681c 100644
--- a/api/controller/controller_util_unittest.py
+++ b/api/controller/controller_util_unittest.py
@@ -13,6 +13,7 @@
from chromite.lib import binpkg
from chromite.lib import build_target_lib
from chromite.lib import chroot_lib
+from chromite.lib import cros_build_lib
from chromite.lib import cros_test_lib
from chromite.lib import sysroot_lib
from chromite.lib.parser import package_info
@@ -229,10 +230,13 @@
assert obj == controller_util.deserialize_package_index_info(msg)
-class Pb2PathToPathlibPathTest(cros_test_lib.TestCase):
+class Pb2PathToPathlibPathTest(cros_test_lib.MockTestCase):
"""Verify functionality for pb2_path_to_pathlib_path()."""
- chroot = common_pb2.Chroot(path="/path/to/chroot")
+ chroot = common_pb2.Chroot(path="/path/to/chroot", out_path="/path/to/out")
+
+ def setUp(self):
+ self.PatchObject(cros_build_lib, "IsInsideChroot", return_value=False)
@staticmethod
def create_pb2_path(path: str, inside: bool) -> common_pb2.Path: