From ecd42a936e7d8b92139694685868c2c16224e802 Mon Sep 17 00:00:00 2001 From: Xusheng Date: Thu, 1 Jul 2021 12:02:42 +0800 Subject: Add a unit test for the fixed GetInstallDirectory/GetBundledPluginDirectory API --- suite/testcommon.py | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/suite/testcommon.py b/suite/testcommon.py index 9a811670..6ee3d7bc 100644 --- a/suite/testcommon.py +++ b/suite/testcommon.py @@ -2,6 +2,7 @@ import tempfile import pickle import os import sys +import platform import time import zipfile import inspect @@ -1908,4 +1909,44 @@ class VerifyBuilder(Builder): finally: self.delete_package("old_tags.bndb") - return ret \ No newline at end of file + return ret + + def test_get_paths(self): + """Get install directory and bundled plugin directory""" + core_platform = platform.system() + + install_dir = binja.get_install_directory() + if not os.path.isdir(install_dir): + return False + + files = os.listdir(install_dir) + if core_platform == "Darwin": + if not 'libbinaryninjacore.dylib' in files: + return False + elif core_platform == "Linux": + if not 'libbinaryninjacore.so.1' in files: + return False + elif core_platform == "Windows": + if not 'binaryninjacore.dll' in files: + return False + else: + return False + + plugin_dir = binja.bundled_plugin_path() + if not os.path.isdir(plugin_dir): + return False + + files = os.listdir(plugin_dir) + if core_platform == "Darwin": + if not 'libarch_x86.dylib' in files: + return False + elif core_platform == "Linux": + if not 'libarch_x86.so' in files: + return False + elif core_platform == "Windows": + if not 'arch_x86.dll' in files: + return False + else: + return False + + return True -- cgit v1.3.1