summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2022-05-19 16:44:16 -0400
committerRusty Wagner <rusty.wagner@gmail.com>2022-05-19 16:44:19 -0400
commitb3af14e545ab56c702fc23f75bd94dfb7a12749d (patch)
tree569d22ef2143e2fee11f6aa35e0cb0fbc2ffbfcb
parentc4825e6e92cb5918b8b571872d30b37f5a886ea8 (diff)
Add tests for additional database versions
m---------suite/binaries0
-rw-r--r--suite/testcommon.py32
2 files changed, 18 insertions, 14 deletions
diff --git a/suite/binaries b/suite/binaries
-Subproject 5c5ebfc1f1ff82ff1d0358d08e744a1becaa04b
+Subproject e0e9b5f96a5aba1c02f7c75fecb0b9fcf0f40f6
diff --git a/suite/testcommon.py b/suite/testcommon.py
index 3c9fc28e..788e0f39 100644
--- a/suite/testcommon.py
+++ b/suite/testcommon.py
@@ -1931,22 +1931,26 @@ class VerifyBuilder(Builder):
callback_should_run = False
def test_load_old_database(self):
- """Load a database produced by Binary Ninja v1.2.1921"""
- file_name = self.unpackage_file("binja_v1.2.1921_bin_ls.bndb")
- if not os.path.exists(file_name):
- return False
+ """Load a database produced by older versions of Binary Ninja"""
+ for version in ["binja_v1.2.1921_bin_ls.bndb", "binja_v2.2.2487_bin_ls.bndb", "binja_v2.5.3112_bin_ls.bndb"]:
+ file_name = self.unpackage_file(version)
+ if not os.path.exists(file_name):
+ return False
- binja.Settings().set_bool("analysis.database.suppressReanalysis", True)
- ret = None
- with BinaryViewType.get_view_of_file_with_options(file_name) as bv:
- if bv is None:
- ret = False
- if bv.file.snapshot_data_applied_without_error:
- ret = True
+ binja.Settings().set_bool("analysis.database.suppressReanalysis", True)
+ ret = None
+ with BinaryViewType.get_view_of_file_with_options(file_name) as bv:
+ if bv is None:
+ ret = False
+ if bv.file.snapshot_data_applied_without_error:
+ ret = True
- binja.Settings().reset("analysis.database.suppressReanalysis")
- self.delete_package("binja_v1.2.1921_bin_ls.bndb")
- return ret
+ binja.Settings().reset("analysis.database.suppressReanalysis")
+ self.delete_package(version)
+
+ if not ret:
+ return ret
+ return True
def test_struct_type_leakage(self):
"""