From c81d0cca06a8442644e1a2c99fa8aaa68030ccad Mon Sep 17 00:00:00 2001 From: Hsin-Yi Chen Date: Mon, 26 Feb 2018 10:29:26 +0800 Subject: Load LL-NDK-Private, VNDK-Private, and VNDK-SP-Private from eligible list - Add the tag of VNDK-Private which is a set of libraries in /system/${LIB}/vndk${VNDK_VER} but not directly accessible to vendor libraries. - Remove SP-NDK, SP-NDK-Indirect, and VNDK-SP-Indirect as they have been removed from eligible list. - Rename VNDK-SP-Indirect-Private to VNDK-SP-Private. - Rename LL-NDK-Indirect to LL-NDK-Private. Bug: 73863967 Test: vts-tradefed run commandAndExit vts-vndk Change-Id: Ifb86902bcb42c4cc5c1bb0c45a7c50ca3ded92cc --- dependency/VtsVndkDependencyTest.py | 30 ++++-------------------------- files/VtsVndkFilesTest.py | 6 +++--- golden/vndk_data.py | 17 +++++------------ open_libraries/VtsVndkOpenLibrariesTest.py | 8 +++----- 4 files changed, 15 insertions(+), 46 deletions(-) diff --git a/dependency/VtsVndkDependencyTest.py b/dependency/VtsVndkDependencyTest.py index 6e2fb6c..c1ce6af 100644 --- a/dependency/VtsVndkDependencyTest.py +++ b/dependency/VtsVndkDependencyTest.py @@ -46,14 +46,10 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): /system/lib[64]. _sp_hal: List of patterns. The names of the same-process HAL libraries expected to be in /vendor/lib[64]. - _sp_ndk: Set of strings. The names of same-process NDK libraries in - /system/lib[64]/vndk-${VER}. _vndk: Set of strings. The names of VNDK core libraries in /system/lib[64]/vndk-${VER}. _vndk_sp: Set of strings. The names of VNDK-SP libraries in /system/lib[64]/vndk-sp-${VER}. - _vndk_sp_indirect: Set of strings. The names of VNDK-SP-Indirect - 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. """ @@ -106,28 +102,22 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): self._dut.vndk_version, vndk_data.SP_HAL, vndk_data.LL_NDK, - vndk_data.SP_NDK, vndk_data.VNDK, - vndk_data.VNDK_SP, - vndk_data.VNDK_SP_INDIRECT) + vndk_data.VNDK_SP) asserts.assertTrue(vndk_lists, "Cannot load VNDK library lists.") sp_hal_strings = vndk_lists[0] self._sp_hal = [re.compile(x) for x in sp_hal_strings] (self._ll_ndk, - self._sp_ndk, self._vndk, - self._vndk_sp, - self._vndk_sp_indirect) = ( + self._vndk_sp) = ( set(path_utils.TargetBaseName(path) for path in vndk_list) for vndk_list in vndk_lists[1:]) logging.debug("LL_NDK: %s", self._ll_ndk) logging.debug("SP_HAL: %s", sp_hal_strings) - logging.debug("SP_NDK: %s", self._sp_ndk) logging.debug("VNDK: %s", self._vndk) logging.debug("VNDK_SP: %s", self._vndk_sp) - logging.debug("VNDK_SP_INDIRECT: %s", self._vndk_sp_indirect) def tearDownClass(self): """Deletes the temporary directory.""" @@ -251,10 +241,8 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): A vendor library/executable is allowed to depend on - LL-NDK - - SP-NDK - VNDK - VNDK-SP - - VNDK-SP-Indirect - Other libraries in vendor link paths. Args: @@ -269,10 +257,8 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): """ vendor_lib_names = set(x.name for x in vendor_libs) is_allowed_dep = lambda x: (x in self._ll_ndk or - x in self._sp_ndk or x in self._vndk or x in self._vndk_sp or - x in self._vndk_sp_indirect or x in vendor_lib_names) return self._FilterDisallowedDependencies(vendor_objs, is_allowed_dep) @@ -281,11 +267,8 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): A VNDK-SP extension library is allowed to depend on - LL-NDK - - SP-NDK - VNDK-SP - - VNDK-SP-Indirect - - Other VNDK-SP extension libraries, which is a subset of VNDK-SP and - VNDK-SP-Indirect. + - Other VNDK-SP extension libraries, which is a subset of VNDK-SP. Args: vndk_sp_ext_libs: Collection of ElfObject, the VNDK-SP extension @@ -294,10 +277,7 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): Returns: List of tuples (path, disallowed_dependencies). """ - is_allowed_dep = lambda x: (x in self._ll_ndk or - x in self._sp_ndk or - x in self._vndk_sp or - x in self._vndk_sp_indirect) + is_allowed_dep = lambda x: (x in self._ll_ndk or x in self._vndk_sp) return self._FilterDisallowedDependencies( vndk_sp_ext_libs, is_allowed_dep) @@ -306,7 +286,6 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): A same-process HAL library is allowed to depend on - LL-NDK - - SP-NDK - VNDK-SP - Other same-process HAL libraries and dependencies @@ -319,7 +298,6 @@ class VtsVndkDependencyTest(base_test.BaseTestClass): """ sp_hal_lib_names = set(x.name for x in sp_hal_libs) is_allowed_dep = lambda x: (x in self._ll_ndk or - x in self._sp_ndk or x in self._vndk_sp or x in sp_hal_lib_names) return self._FilterDisallowedDependencies(sp_hal_libs, is_allowed_dep) diff --git a/files/VtsVndkFilesTest.py b/files/VtsVndkFilesTest.py index 1ed1c7f..5f08ccf 100644 --- a/files/VtsVndkFilesTest.py +++ b/files/VtsVndkFilesTest.py @@ -117,7 +117,8 @@ class VtsVndkFilesTest(base_test.BaseTestClass): self._TestVndkDirectory( vndk_utils.GetVndkCoreDirectory( self.abi_bitness, self._vndk_version), - vndk_data.VNDK) + vndk_data.VNDK, + vndk_data.VNDK_PRIVATE) def testVndkSpDirectory(self): """Verifies that VNDK-SP directory doesn't contain extra files.""" @@ -125,8 +126,7 @@ class VtsVndkFilesTest(base_test.BaseTestClass): vndk_utils.GetVndkSpDirectory( self.abi_bitness, self._vndk_version), vndk_data.VNDK_SP, - vndk_data.VNDK_SP_INDIRECT, - vndk_data.VNDK_SP_INDIRECT_PRIVATE) + vndk_data.VNDK_SP_PRIVATE) def testNoLlndkInVendor(self): """Verifies that vendor partition has no LL-NDK libraries.""" diff --git a/golden/vndk_data.py b/golden/vndk_data.py index df1cf4e..3ad4620 100644 --- a/golden/vndk_data.py +++ b/golden/vndk_data.py @@ -23,30 +23,23 @@ import os LL_NDK = "LL-NDK" # LL-NDK dependencies that vendor modules cannot directly access. -LL_NDK_INDIRECT = "LL-NDK-Indirect" +LL_NDK_PRIVATE = "LL-NDK-Private" # Same-process HAL implementation in vendor partition. SP_HAL = "SP-HAL" -# Same-process NDK libraries that can be used by framework and vendor modules. -SP_NDK = "SP-NDK" - -# SP-NDK dependencies that vendor modules cannot directly access. -SP_NDK_INDIRECT = "SP-NDK-Indirect" - # Framework libraries that can be used by vendor modules except same-process HAL # and its dependencies in vendor partition. VNDK = "VNDK" +# VNDK dependencies that vendor modules cannot directly access. +VNDK_PRIVATE = "VNDK-Private" + # Same-process HAL dependencies in framework. VNDK_SP = "VNDK-SP" -# VNDK-SP dependencies that same-process HAL and its dependencies in vendor -# partition cannot directly access. Other vendor modules can access them. -VNDK_SP_INDIRECT = "VNDK-SP-Indirect" - # VNDK-SP dependencies that vendor modules cannot directly access. -VNDK_SP_INDIRECT_PRIVATE = "VNDK-SP-Indirect-Private" +VNDK_SP_PRIVATE = "VNDK-SP-Private" # The name of the data directory for devices with no VNDK version. DEFAULT_VNDK_VERSION = "P" diff --git a/open_libraries/VtsVndkOpenLibrariesTest.py b/open_libraries/VtsVndkOpenLibrariesTest.py index d85a84d..f51502d 100644 --- a/open_libraries/VtsVndkOpenLibrariesTest.py +++ b/open_libraries/VtsVndkOpenLibrariesTest.py @@ -104,13 +104,11 @@ class VtsVndkOpenLibrariesTest(base_test.BaseTestClass): self.data_file_path, self._dut.vndk_version, vndk_data.LL_NDK, - vndk_data.LL_NDK_INDIRECT, - vndk_data.SP_NDK, - vndk_data.SP_NDK_INDIRECT, + vndk_data.LL_NDK_PRIVATE, vndk_data.VNDK, + vndk_data.VNDK_PRIVATE, vndk_data.VNDK_SP, - vndk_data.VNDK_SP_INDIRECT, - vndk_data.VNDK_SP_INDIRECT_PRIVATE) + vndk_data.VNDK_SP_PRIVATE) asserts.assertTrue(vndk_lists, "Cannot load VNDK library lists.") allowed_libs = set() for vndk_list in vndk_lists: -- cgit v1.2.3