summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-02-06 11:19:44 -0500
committerMason Reed <mason@vector35.com>2025-02-06 21:41:40 -0500
commitc8fbd0f11d7a83e72f76f8cef254152807e34d13 (patch)
tree81df56a55327568907577ac2003b0acfe023a782
parent63bda3b9dde7c85c1140f9fa96da49f23d4936c5 (diff)
Add simple type to view test for Rust API
-rw-r--r--rust/tests/types.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/rust/tests/types.rs b/rust/tests/types.rs
index 98530dc6..bb748e49 100644
--- a/rust/tests/types.rs
+++ b/rust/tests/types.rs
@@ -1,6 +1,9 @@
+use binaryninja::binary_view::{BinaryView, BinaryViewExt};
use binaryninja::confidence::Conf;
+use binaryninja::file_metadata::FileMetadata;
use binaryninja::headless::Session;
use binaryninja::platform::Platform;
+use binaryninja::rc::Ref;
use binaryninja::types::{MemberAccess, MemberScope, StructureBuilder, StructureMember, Type};
use rstest::*;
@@ -10,6 +13,12 @@ fn session() -> Session {
Session::new().expect("Failed to initialize session")
}
+#[fixture]
+#[once]
+fn empty_view() -> Ref<BinaryView> {
+ BinaryView::from_data(&FileMetadata::new(), &[]).expect("Failed to create view")
+}
+
#[rstest]
fn test_type_to_string(_session: &Session) {
let test_type = Type::int(4, true);
@@ -58,3 +67,11 @@ fn test_structure_builder(_session: &Session) {
}
);
}
+
+#[rstest]
+fn add_type_to_view(_session: &Session, empty_view: &BinaryView) {
+ let test_type = Type::int(4, true);
+ empty_view.define_auto_type("test", "me", &test_type);
+ assert!(empty_view.type_by_name("test").is_some());
+ assert!(empty_view.type_by_id("me").is_some());
+}