diff options
| author | Xusheng <xusheng@vector35.com> | 2021-07-01 12:02:42 +0800 |
|---|---|---|
| committer | Xusheng <xusheng@vector35.com> | 2021-07-05 10:20:38 +0800 |
| commit | ecd42a936e7d8b92139694685868c2c16224e802 (patch) | |
| tree | 30bb1132043a117d4cd6ea4d1d5bcb4b860452b6 | |
| parent | 13ff200ba134b8704f37eca99c42b70dab0d17dc (diff) | |
Add a unit test for the fixed GetInstallDirectory/GetBundledPluginDirectory API
| -rw-r--r-- | suite/testcommon.py | 43 |
1 files changed, 42 insertions, 1 deletions
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 |
