diff options
author | Hsin-Yi Chen <hsinyichen@google.com> | 2021-06-11 10:26:18 +0800 |
---|---|---|
committer | Hsin-Yi Chen <hsinyichen@google.com> | 2021-06-11 11:09:07 +0800 |
commit | a33274db2922f007fd1278272ca20a31e0a828ec (patch) | |
tree | 2c609d9b43c6e61b5b6a9050007028a8a9682355 | |
parent | c58fb038ab06da78a1e0827e9413e20cfdccc6c2 (diff) | |
download | vndk-a33274db2922f007fd1278272ca20a31e0a828ec.tar.gz |
Allow dependencies on non-default link pathsandroid10-tests-dev
The dependency test differentiates default link paths and permitted
paths. Vendor objects may depend on libraries in non-default link paths.
The test allows the dependencies if the objects have RUNPATHs in vendor
or odm partition.
Test: vts-tradefed run vts -m VtsVndkDependency
Bug: 185363536
Change-Id: I3383ebfb5321290245ac8ba2d05a59df881b9c64
-rw-r--r-- | dependency/VtsVndkDependencyTest.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/dependency/VtsVndkDependencyTest.py b/dependency/VtsVndkDependencyTest.py index 47b4e64..5c214ba 100644 --- a/dependency/VtsVndkDependencyTest.py +++ b/dependency/VtsVndkDependencyTest.py @@ -52,8 +52,12 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): /system/lib[64]/vndk-${VER}. _vndk_sp: Set of strings. The names of VNDK-SP libraries in /system/lib[64]/vndk-sp-${VER}. - _SP_HAL_LINK_PATHS: Format strings of same-process HAL's link paths. - _VENDOR_LINK_PATHS: Format strings of vendor processes' link paths. + _SP_HAL_LINK_PATHS: Format strings of same-process HAL's default link + paths. + _VENDOR_LINK_PATHS: Format strings of vendor processes' default link + paths. + _VENDOR_PERMITTED_PATHS: Same-process HAL and vendor processes' + permitted link paths. _VENDOR_APP_DIRS: The app directories in vendor partitions. """ _TARGET_DIR_SEP = "/" @@ -69,6 +73,9 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): "/odm/{LIB}/hw", "/odm/{LIB}/egl", "/odm/{LIB}", "/vendor/{LIB}/hw", "/vendor/{LIB}/egl", "/vendor/{LIB}" ] + _VENDOR_PERMITTED_PATHS = [ + "/odm", "/vendor" + ] _VENDOR_APP_DIRS = [ "/vendor/app", "/vendor/priv-app", "/odm/app", "/odm/priv-app" ] @@ -362,7 +369,7 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): vendor_link_paths = [vndk_utils.FormatVndkPath(x, bitness) for x in self._VENDOR_LINK_PATHS] vendor_namespace = self._FindLibsInLinkPaths( - bitness, vendor_link_paths + self._VENDOR_APP_DIRS, objs) + bitness, self._VENDOR_PERMITTED_PATHS, objs) # Exclude VNDK and VNDK-SP extensions from vendor libraries. for vndk_ext_dir in (vndk_utils.GetVndkExtDirectories(bitness) + vndk_utils.GetVndkSpExtDirectories(bitness)): @@ -373,8 +380,8 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): sp_hal_link_paths = [vndk_utils.FormatVndkPath(x, bitness) for x in self._SP_HAL_LINK_PATHS] - sp_hal_namespace = self._FindLibsInLinkPaths(bitness, - sp_hal_link_paths, objs) + sp_hal_namespace = self._FindLibsInLinkPaths( + bitness, self._VENDOR_PERMITTED_PATHS, objs) # Find same-process HAL and dependencies sp_hal_libs = set() |