diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2022-05-19 16:44:16 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2022-05-19 16:44:19 -0400 |
| commit | b3af14e545ab56c702fc23f75bd94dfb7a12749d (patch) | |
| tree | 569d22ef2143e2fee11f6aa35e0cb0fbc2ffbfcb | |
| parent | c4825e6e92cb5918b8b571872d30b37f5a886ea8 (diff) | |
Add tests for additional database versions
| m--------- | suite/binaries | 0 | ||||
| -rw-r--r-- | suite/testcommon.py | 32 |
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): """ |
