#!/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 ModuleInfo
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
class ModuleInfoTest(unittest.TestCase):
def test_default(self):
m = ModuleInfo.load_from_path_or_default(None)
self.assertEqual([], m.get_module_path('/system/lib64/libA.so'))
def test_get_module_path(self):
json_path = os.path.join(SCRIPT_DIR, 'testdata', 'test_module_info',
'module-info.json')
m = ModuleInfo.load_from_path_or_default(json_path)
self.assertEqual(['system/core/libA'],
m.get_module_path('/system/lib64/libA.so'))
self.assertEqual(['frameworks/base/libB'],
m.get_module_path('/system/lib64/libB.so'))
self.assertEqual(['frameworks/base/libC'],
m.get_module_path('/system/lib64/libC.so'))
self.assertEqual(['frameworks/base/libC'],
m.get_module_path('/system/lib64/hw/libC.so'))
self.assertEqual(
[], m.get_module_path('/system/lib64/libdoes_not_exist.so'))
if __name__ == '__main__':
unittest.main()