blob: 00a4c180ce060c9e546195ba61f31287579f2d5a [file] [log] [blame]
#!/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 NDK_LIBS
class NDKLibDictTest(unittest.TestCase):
def test_is_ll_ndk(self):
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib/libc.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib/libdl.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib/liblog.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib/libm.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib/libstdc++.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib/libvndksupport.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib/libandroid_net.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib/libz.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib64/libc.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib64/libdl.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib64/liblog.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib64/libm.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib64/libstdc++.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib64/libvndksupport.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib64/libandroid_net.so'))
self.assertTrue(NDK_LIBS.is_ll_ndk('/system/lib64/libz.so'))
self.assertFalse(NDK_LIBS.is_ll_ndk('/system/lib/libm'))
def test_is_sp_ndk(self):
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib/libEGL.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib/libGLESv1_CM.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib/libGLESv2.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib/libGLESv3.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib/libnativewindow.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib/libsync.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib/libvulkan.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib64/libEGL.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib64/libGLESv1_CM.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib64/libGLESv2.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib64/libGLESv3.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib64/libnativewindow.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib64/libsync.so'))
self.assertTrue(NDK_LIBS.is_sp_ndk('/system/lib64/libvulkan.so'))
# Vendor libraries with the same name are still not SP-NDK.
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/libEGL.so'))
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/libGLESv1_CM.so'))
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/libGLESv2.so'))
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/libGLESv3.so'))
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/egl/libEGL.so'))
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/egl/libGLESv1_CM.so'))
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/egl/libGLESv2.so'))
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/egl/libGLESv3.so'))
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/libvulkan.so'))
self.assertFalse(NDK_LIBS.is_sp_ndk('/vendor/lib64/vulkan.so'))
# LL-NDK is not SP-NDK.
self.assertFalse(NDK_LIBS.is_sp_ndk('/system/lib/libc.so'))
def test_is_hlndk(self):
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib/libOpenMAXAL.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib/libOpenSLES.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib/libandroid.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib/libcamera2ndk.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib/libjnigraphics.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib/libmediandk.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib64/libOpenMAXAL.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib64/libOpenSLES.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib64/libandroid.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib64/libcamera2ndk.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib64/libjnigraphics.so'))
self.assertTrue(NDK_LIBS.is_hl_ndk('/system/lib64/libmediandk.so'))
# LL-NDK and SP-NDK are not HL-NDK.
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib/libc.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib/libEGL.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib/libGLESv1_CM.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib/libGLESv2.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib/libGLESv3.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib/libvulkan.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib64/libc.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib64/libEGL.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib64/libGLESv1_CM.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib64/libGLESv2.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib64/libGLESv3.so'))
self.assertFalse(NDK_LIBS.is_hl_ndk('/system/lib64/libvulkan.so'))
def test_is_ndk(self):
# LL-NDK
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libc.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libdl.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/liblog.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libm.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libstdc++.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libvndksupport.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libandroid_net.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libz.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libc.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libdl.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/liblog.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libm.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libstdc++.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libvndksupport.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libandroid_net.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libz.so'))
# SP-NDK
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libEGL.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libGLESv1_CM.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libGLESv2.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libGLESv3.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libEGL.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libGLESv1_CM.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libGLESv2.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libGLESv3.so'))
# HL-NDK
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libOpenMAXAL.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libOpenSLES.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libandroid.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libcamera2ndk.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libjnigraphics.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libmediandk.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib/libvulkan.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libOpenMAXAL.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libOpenSLES.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libandroid.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libcamera2ndk.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libjnigraphics.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libmediandk.so'))
self.assertTrue(NDK_LIBS.is_ndk('/system/lib64/libvulkan.so'))
def test_classify(self):
self.assertEqual(NDK_LIBS.NOT_NDK,
NDK_LIBS.classify('/system/lib/libfoo.so'))
self.assertEqual(NDK_LIBS.LL_NDK,
NDK_LIBS.classify('/system/lib/libc.so'))
self.assertEqual(NDK_LIBS.SP_NDK,
NDK_LIBS.classify('/system/lib/libEGL.so'))
self.assertEqual(NDK_LIBS.HL_NDK,
NDK_LIBS.classify('/system/lib/libmediandk.so'))
self.assertEqual(NDK_LIBS.NOT_NDK,
NDK_LIBS.classify('/system/lib64/libfoo.so'))
self.assertEqual(NDK_LIBS.LL_NDK,
NDK_LIBS.classify('/system/lib64/libc.so'))
self.assertEqual(NDK_LIBS.SP_NDK,
NDK_LIBS.classify('/system/lib64/libEGL.so'))
self.assertEqual(NDK_LIBS.HL_NDK,
NDK_LIBS.classify('/system/lib64/libmediandk.so'))
if __name__ == '__main__':
unittest.main()