summaryrefslogtreecommitdiff
path: root/rust/tests
diff options
context:
space:
mode:
Diffstat (limited to 'rust/tests')
-rw-r--r--rust/tests/base_detection.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/rust/tests/base_detection.rs b/rust/tests/base_detection.rs
new file mode 100644
index 00000000..b5497c3c
--- /dev/null
+++ b/rust/tests/base_detection.rs
@@ -0,0 +1,24 @@
+use binaryninja::base_detection::BaseAddressDetectionSettings;
+use binaryninja::binary_view::BinaryViewExt;
+use binaryninja::headless::Session;
+use rstest::{fixture, rstest};
+use std::path::PathBuf;
+
+#[fixture]
+#[once]
+fn session() -> Session {
+ Session::new().expect("Failed to initialize session")
+}
+
+#[rstest]
+fn test_failed_base_detection(_session: &Session) {
+ let out_dir = env!("OUT_DIR").parse::<PathBuf>().unwrap();
+ let view = binaryninja::load(out_dir.join("atox.obj")).expect("Failed to create view");
+ let bad = view
+ .base_address_detection()
+ .expect("Failed to create base address detection");
+ assert!(
+ !bad.detect(&BaseAddressDetectionSettings::default()),
+ "Detection should fail on this view"
+ );
+}