summaryrefslogtreecommitdiff
path: root/rust/tests
AgeCommit message (Collapse)Author
2025-12-10[Rust] Add simple architecture testsMason Reed
Still need to add a custom architecture for unit tests like in python
2025-12-10[Rust] Add `LowLevelILSSARegister` type (#7745)Mason Reed
2025-12-04Pass arch to finalized LowLevelILFunction (#7729)Truman Kilen
Co-authored-by: Mason Reed <mason@vector35.com>
2025-11-03Revert "Refactor Plugin Load/Management to support upcoming changes"0cyn
This reverts commit 72fcf44f3731ade3cf1310da55f633f1cb9069ce.
2025-10-29[Rust] Update repository API following updated Core API'sMason Reed
2025-10-23Support bitfields in type systemMason Reed
Also adds support for parsing bitfields in PDB, DWARF and SVD plugins WIP: API needs to be considered more, also need to find type related apis that may need to be rethought.
2025-10-22[Rust] Fix custom `SecretsProvider` impl requiring data to be passed back in ↵Mason Reed
`get_data` We want to provide no value in the case of the key not having an associated value
2025-10-22[Rust] Refactor download provider module to allow for custom implementationsMason Reed
2025-10-07[Rust] Implement custom data renderer APILukBukkit
Also adds an example plugin and misc rust fixes / documentation. This is a continuation of https://github.com/Vector35/binaryninja-api/pull/6721 Co-authored-by: rbran <lgit@rubens.io>
2025-10-07[Rust] Fix save file dialog not respecting default file pathMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/7268
2025-10-02[Rust] Improvements to LLIL flag and intrinsic operationsJames Johnson
2025-09-24Fix HighLevelILInstruction CoreArrayProvider using instr index instead of ↵Josh Ferrell
expr index
2025-08-13[Rust] Add builder API for creating workflowsMark Rowe
`Workflow::new` is replaced by `Workflow::build` that returns a `Builder` type that supports the operations that mutate a workflow, such as registering activities. `Workflow::instance` is replaced by `Workflow::get` to make clear that it is intended to look up an existing workflow. `Workflow::cloned` is introduced to wrap the common pattern of retrieving an existing workflow and cloning it with the same name in order to modify it. `Builder::activity_before` / `Builder::activity_after` are introduced to wrap the common pattern of registering an activity then inserting it before or after a given activity.
2025-08-06[Rust] Take download callbacks by reference to avoid boxingMason Reed
2025-07-17[Rust] Misc fixes / formattingMason Reed
- Fix cmake clean not cleaning target docs - Fix not prioritizing enterprise remote in collab tests - Some misc formatting - Fix incorrect assert in binary loading
2025-07-15[Rust] Update some testsMason Reed
2025-07-15[Rust] Add `BinaryView::search` and friendsMason Reed
2025-07-06[Rust] Make `ReportCollection::add_*` optionally take a viewMason Reed
To allow for creating reports outside the context of a view
2025-07-03Add get_files_by_path_in_project and get_path_in_project to C++ and python APIsAlexander Khosrowshahi
2025-07-03[Rust] Add simple binary view tags testMason Reed
2025-07-02[Rust] Fixup some unit testsMason Reed
2025-07-02[Rust] Remove redundant `Result` from `Project::folders`Mason Reed
Also make `Project::file_by_path` take a `Path`.
2025-07-02[Rust] Misc changes to `test_deterministic_functions`Mason Reed
The function name is redundant, just pull from the symbol
2025-07-02[Rust] Format codeMason Reed
2025-07-02Add test_deterministic_functions to Rust API unit testsMason Reed
This test makes sure that initial analysis is not tainting functions
2025-06-13[Rust] Add `BinaryViewExt::strings` and `BinaryViewExt::strings_in_range`Mason Reed
2025-06-13Require a default platform to create functions for a given Binary ViewMason Reed
This affects mainly users creating an empty raw view headlessly and adding a function.
2025-05-31[Rust] Retrieve architecture if missing from location passed to ↵Mason Reed
`MediumLevelILFunction::instruction_from_index` Fixes https://github.com/Vector35/binaryninja-api/issues/6876
2025-05-30[Rust] Finish out the `PossibleValueSet` implementation to include range and ↵Mason Reed
lists of values This requires us to allocate on the rust side of the API, this is quite easy to mess up but the usage of it is limited.
2025-05-30[Rust] Express expression vs instruction index for MLIL and HLIL APIsMason Reed
This was done to fix unintended behavior using an instruction or expression index in place of the other. Fixes https://github.com/Vector35/binaryninja-api/issues/6897
2025-05-19Implement function level metadataBrandon Miller
2025-05-17[Rust] Re-open type archive in unit test to verifyMason Reed
2025-05-12[Rust] Add type library testsMason Reed
2025-05-12[Rust] Add type printer testsMason Reed
2025-05-12[Rust] Simplify operand list retrieval for MLIL and HLILMason Reed
2025-05-12[Rust] Check lifted call for params and output in mlil testMason Reed
2025-05-12[Rust] Interaction handler API fixesMason Reed
2025-05-12[Rust] Misc cleanupMason Reed
2025-05-12[Rust] Consult secrets provider when trying to connect to a remoteMason Reed
2025-05-12[Rust] Move `BinaryReader` and `BinaryWriter` into `binary_view` moduleMason Reed
Both of these are associated directly to a `BinaryView` and only exist as accessors onto it.
2025-05-12[Rust] Support SSA form properly in low level ILMason Reed
2025-05-12[Rust] Fix misc typosMason Reed
2025-05-12[Rust] Misc cleanupMason Reed
2025-05-12[Rust] Implement custom interactive handlerrbran
2025-05-12[Rust] Implement `LanguageRepresentation` and `LineFormatter`rbran
2025-05-12[Rust] Improve `FileAccessor`Mason Reed
- Add unit tests - Expose read/write functionality - Add some much needed documentation when passing to memory map
2025-05-12[Rust] Metadata API improvementsMason Reed
- Don't use Result for some or none values - Fix freeing of key value store objects - Improve ergonomics a little bit - Add unit tests
2025-05-12[Rust] Add section testsMason Reed
2025-05-12[Rust] Reduce usage of `IntoCStr` in function signaturesMason Reed
This is being done to reduce complexity in function signatures, specifically many of the strings we are passing ultimately should be new types themselves instead of "just strings", things such as type ids. Another place which was confusing was dealing with filesystem related APIs, this commit turns most of those params into a stricter `Path` type. This is bringing the rust api more inline with both python and C++, where the wrapper eagerly converts the string into the languages standard string type. Special consideration must be made for symbols or other possible non utf-8 objects. This commit will be followed up with one that adds the `IntoCStr` bound on API's we want to keep as invalid utf-8 so we can for example, get section by name on a section with invalid utf-8.
2025-05-12[Rust] Add string testsMason Reed