vndk-def: Remove more unused code

This commit removes BannedLibDict and compute_vndk_cap() from the VNDK
definition tool.

Test: ./tests/run.py
Change-Id: I6098b6247c9b0a44accf54cd9fc90b60e28085bb
diff --git a/vndk/tools/definition-tool/tests/test_banned_libs.py b/vndk/tools/definition-tool/tests/test_banned_libs.py
deleted file mode 100755
index 6c7dd53..0000000
--- a/vndk/tools/definition-tool/tests/test_banned_libs.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python3
-
-from __future__ import print_function
-
-import os
-import sys
-sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-
-import unittest
-
-from vndk_definition_tool import BA_WARN, BannedLibDict
-
-
-class BannedLibDictTest(unittest.TestCase):
-    def test_add(self):
-        d = BannedLibDict()
-        d.add('libfoo.so', 'test', BA_WARN)
-        x = d.get('libfoo.so')
-
-        self.assertIsNotNone(x)
-        self.assertEqual('libfoo.so', x.name)
-        self.assertEqual('test', x.reason)
-        self.assertEqual(BA_WARN, x.action)
-
-    def test_get(self):
-        d = BannedLibDict.create_default()
-        self.assertIsNotNone(d.get('libbinder.so'))
-        self.assertIsNotNone(d.get('libselinux.so'))
-        self.assertIsNone(d.get('libc.so'))
-
-    def test_is_banned(self):
-        d = BannedLibDict.create_default()
-        self.assertTrue(d.is_banned('/system/lib/libbinder.so'))
-        self.assertTrue(d.is_banned('/system/lib/libselinux.so'))
-        self.assertTrue(d.is_banned('/system/lib64/libbinder.so'))
-        self.assertTrue(d.is_banned('/system/lib64/libselinux.so'))
-        self.assertFalse(d.is_banned('/system/lib64/libc.so'))
-
-
-if __name__ == '__main__':
-    unittest.main()
-
diff --git a/vndk/tools/definition-tool/tests/test_elf_linker.py b/vndk/tools/definition-tool/tests/test_elf_linker.py
index d3eecdd..6faa9d2 100755
--- a/vndk/tools/definition-tool/tests/test_elf_linker.py
+++ b/vndk/tools/definition-tool/tests/test_elf_linker.py
@@ -9,8 +9,8 @@
 import unittest
 
 from compat import StringIO
-from vndk_definition_tool import (BannedLibDict, ELF, ELFLinker, GenericRefs,
-                                  PT_SYSTEM, PT_VENDOR)
+from vndk_definition_tool import (ELF, ELFLinker, GenericRefs, PT_SYSTEM,
+                                  PT_VENDOR)
 
 
 class GraphBuilder(object):
@@ -520,89 +520,5 @@
             self.assertNotIn(libc_path, sp_ndk_indirect)
 
 
-    def test_compute_vndk_cap(self):
-        gb = GraphBuilder()
-
-        # Add LL-NDK libraries.
-        gb.add_multilib(PT_SYSTEM, 'libc')
-        gb.add_multilib(PT_SYSTEM, 'libdl')
-        gb.add_multilib(PT_SYSTEM, 'liblog')
-        gb.add_multilib(PT_SYSTEM, 'libm')
-        gb.add_multilib(PT_SYSTEM, 'libstdc++')
-
-        # Add SP-NDK libraries.
-        gb.add_multilib(PT_SYSTEM, 'libEGL')
-        gb.add_multilib(PT_SYSTEM, 'libGLES_v2')
-
-        # Add banned libraries.
-        gb.add_multilib(PT_SYSTEM, 'libbinder')
-        gb.add_multilib(PT_SYSTEM, 'libselinux')
-
-        # Add good examples.
-        gb.add_multilib(PT_SYSTEM, 'libgood_a', dt_needed=['libc.so'])
-        gb.add_multilib(PT_SYSTEM, 'libgood_b', dt_needed=['libEGL.so'])
-        gb.add_multilib(PT_SYSTEM, 'libgood_c', dt_needed=['libGLES_v2.so'])
-
-        # Add bad examples.
-        gb.add_multilib(PT_SYSTEM, 'libbad_a', dt_needed=['libbinder.so'])
-        gb.add_multilib(PT_SYSTEM, 'libbad_b', dt_needed=['libselinux.so'])
-        gb.add_multilib(PT_SYSTEM, 'libbad_c', dt_needed=['libbad_a.so'])
-        gb.add_multilib(PT_SYSTEM, 'libbad_d', dt_needed=['libbad_c.so'])
-        gb.add_multilib(PT_VENDOR, 'libbad_e', dt_needed=['libc.so'])
-
-        gb.resolve()
-
-        # Compute VNDK cap.
-        banned_libs = BannedLibDict.create_default()
-        vndk_cap = gb.graph.compute_vndk_cap(banned_libs)
-        vndk_cap = set(lib.path for lib in vndk_cap)
-
-        # Check the existence of good examples.
-        self.assertIn('/system/lib/libgood_a.so', vndk_cap)
-        self.assertIn('/system/lib/libgood_b.so', vndk_cap)
-        self.assertIn('/system/lib/libgood_c.so', vndk_cap)
-
-        self.assertIn('/system/lib64/libgood_a.so', vndk_cap)
-        self.assertIn('/system/lib64/libgood_b.so', vndk_cap)
-        self.assertIn('/system/lib64/libgood_c.so', vndk_cap)
-
-        # Check the absence of bad examples.
-        self.assertNotIn('/system/lib/libbad_a.so', vndk_cap)
-        self.assertNotIn('/system/lib/libbad_b.so', vndk_cap)
-        self.assertNotIn('/system/lib/libbad_c.so', vndk_cap)
-        self.assertNotIn('/system/lib/libbad_d.so', vndk_cap)
-        self.assertNotIn('/vendor/lib/libbad_e.so', vndk_cap)
-
-        self.assertNotIn('/system/lib64/libbad_a.so', vndk_cap)
-        self.assertNotIn('/system/lib64/libbad_b.so', vndk_cap)
-        self.assertNotIn('/system/lib64/libbad_c.so', vndk_cap)
-        self.assertNotIn('/system/lib64/libbad_d.so', vndk_cap)
-        self.assertNotIn('/vendor/lib64/libbad_e.so', vndk_cap)
-
-        # Check the absence of banned libraries.
-        self.assertNotIn('/system/lib/libbinder.so', vndk_cap)
-        self.assertNotIn('/system/lib/libselinux.so', vndk_cap)
-
-        self.assertNotIn('/system/lib64/libbinder.so', vndk_cap)
-        self.assertNotIn('/system/lib64/libselinux.so', vndk_cap)
-
-        # Check the absence of NDK libraries.  Although LL-NDK and SP-NDK
-        # libraries are not banned, they are not VNDK libraries either.
-        self.assertNotIn('/system/lib/libEGL.so', vndk_cap)
-        self.assertNotIn('/system/lib/libOpenGLES_v2.so', vndk_cap)
-        self.assertNotIn('/system/lib/libc.so', vndk_cap)
-        self.assertNotIn('/system/lib/libdl.so', vndk_cap)
-        self.assertNotIn('/system/lib/liblog.so', vndk_cap)
-        self.assertNotIn('/system/lib/libm.so', vndk_cap)
-        self.assertNotIn('/system/lib/libstdc++.so', vndk_cap)
-
-        self.assertNotIn('/system/lib64/libEGL.so', vndk_cap)
-        self.assertNotIn('/system/lib64/libOpenGLES_v2.so', vndk_cap)
-        self.assertNotIn('/system/lib64/libc.so', vndk_cap)
-        self.assertNotIn('/system/lib64/libdl.so', vndk_cap)
-        self.assertNotIn('/system/lib64/liblog.so', vndk_cap)
-        self.assertNotIn('/system/lib64/libm.so', vndk_cap)
-        self.assertNotIn('/system/lib64/libstdc++.so', vndk_cap)
-
 if __name__ == '__main__':
     unittest.main()
diff --git a/vndk/tools/definition-tool/vndk_definition_tool.py b/vndk/tools/definition-tool/vndk_definition_tool.py
index b2ea0af..4dc2399 100755
--- a/vndk/tools/definition-tool/vndk_definition_tool.py
+++ b/vndk/tools/definition-tool/vndk_definition_tool.py
@@ -526,7 +526,7 @@
 
 
 #------------------------------------------------------------------------------
-# NDK and Banned Libraries
+# NDK
 #------------------------------------------------------------------------------
 
 class NDKLibDict(object):
@@ -609,33 +609,6 @@
 NDK_LIBS = NDKLibDict()
 
 
-BannedLib = collections.namedtuple(
-        'BannedLib', ('name', 'reason', 'action',))
-
-BA_WARN = 0
-BA_EXCLUDE = 1
-
-class BannedLibDict(object):
-    def __init__(self):
-        self.banned_libs = dict()
-
-    def add(self, name, reason, action):
-        self.banned_libs[name] = BannedLib(name, reason, action)
-
-    def get(self, name):
-        return self.banned_libs.get(name)
-
-    def is_banned(self, path):
-        return self.get(os.path.basename(path))
-
-    @staticmethod
-    def create_default():
-        d = BannedLibDict()
-        d.add('libbinder.so', 'un-versioned IPC', BA_WARN)
-        d.add('libselinux.so', 'policydb might be incompatible', BA_WARN)
-        return d
-
-
 #------------------------------------------------------------------------------
 # ELF Linker
 #------------------------------------------------------------------------------
@@ -1534,43 +1507,6 @@
                 vndk_sp_indirect_ext=vndk_sp_indirect_ext,
                 extra_vendor_libs=extra_vendor_libs)
 
-    def compute_vndk_cap(self, banned_libs):
-        # ELF files on vendor partitions are banned unconditionally.  ELF files
-        # on the system partition are banned if their file extensions are not
-        # '.so' or their file names are listed in banned_libs.  LL-NDK and
-        # SP-NDK libraries are treated as a special case which will not be
-        # considered as banned libraries at the moment.
-        def is_banned(lib):
-            if lib.is_ndk:
-                return lib.is_hl_ndk
-            return (banned_libs.is_banned(lib.path) or
-                    not lib.is_system_lib() or
-                    not lib.path.endswith('.so'))
-
-        # Find all libraries that are banned.
-        banned_set = set()
-        for lib_set in self.lib_pt:
-            for lib in lib_set.values():
-                if is_banned(lib):
-                    banned_set.add(lib)
-
-        # Find the transitive closure of the banned libraries.
-        stack = list(banned_set)
-        while stack:
-            lib = stack.pop()
-            for user in lib.users:
-                if not user.is_ndk and user not in banned_set:
-                    banned_set.add(user)
-                    stack.append(user)
-
-        # Find the non-NDK non-banned libraries.
-        vndk_cap = set()
-        for lib in self.lib_pt[PT_SYSTEM].values():
-            if not lib.is_ndk and lib not in banned_set:
-                vndk_cap.add(lib)
-
-        return vndk_cap
-
     @staticmethod
     def _compute_closure(root_set, is_excluded, get_successors):
         closure = set(root_set)