summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXusheng <xusheng@vector35.com>2021-07-01 12:02:42 +0800
committerXusheng <xusheng@vector35.com>2021-07-05 10:20:38 +0800
commitecd42a936e7d8b92139694685868c2c16224e802 (patch)
tree30bb1132043a117d4cd6ea4d1d5bcb4b860452b6
parent13ff200ba134b8704f37eca99c42b70dab0d17dc (diff)
Add a unit test for the fixed GetInstallDirectory/GetBundledPluginDirectory API
-rw-r--r--suite/testcommon.py43
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