summaryrefslogtreecommitdiff
path: root/rust/tests
AgeCommit message (Collapse)Author
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
2025-05-12[Rust] Rename `AsCStr` to `IntoCStr`Mason Reed
2025-05-12[Rust] Simplify `BnStrCompatible` traitMason Reed
Followup to https://github.com/Vector35/binaryninja-api/pull/5897/ This simplifies usage of the trait in user code, should just be able to `to_cstr` to get the cstr repr and then call `as_ptr`. Co-authored-by: Michael Krasnitski <michael.krasnitski@gmail.com>
2025-05-12[Rust] Simplify enterprise initializationMason Reed
We don't need to introduce extra global state when the goal is to not release floating licenses in shutdown.
2025-05-12[Rust] Remove Architecture trait bound on LLIL related structuresMason Reed
2025-04-10Fix function type construction leaking in Rust APIMason Reed
2025-04-10Add debug info rust testMason Reed
2025-04-08Fix workflow Rust API not returning refcounted objectsMason Reed
IDK why this was not done prior, leaking the returned core activity and workflow object.
2025-02-26Remove module level `Session` initialization in Rust unit testsMason Reed
This was preventing the enterprise license checkout from dropping, also the initialization story is much better than it was when we added the rstest fixtures, we can get away with initialization in parallel more broadly.
2025-02-13Fix base detection in rust API failing on auto arch detectionMason Reed
Also added actual test for base address detection
2025-02-07Implement Rust BaseAddressDetectionRubens Brandao
2025-02-07Implement Rust WebsocketProviderRubens Brandao
2025-02-07Update types Rust test to check for type deletionMason Reed
2025-02-07Fix secrets_provider Rust tests failing for enterprise buildsMason Reed
Try and just initialize once
2025-02-06Update Rust tests to respect image baseMason Reed
2025-02-06Fix BinaryReader and BinaryWriter not respecting image base in Rust APIMason Reed
2025-02-06Implement Rust RepositoryRubens Brandao
2025-02-06Implement Rust SecretsProviderRubens Brandao
2025-02-06Add simple type to view test for Rust APIMason Reed
2025-01-31Fix double free in CoreCallingConvention::callee_saved_registersMason Reed
Also added an assertion in the types unit test to catch it Fixes #6379
2025-01-31Update Render Layer registration in Rust APIMason Reed
The unit tests were not updated and the enum was kept with extremely long names, so I just added a simple wrapper.
2025-01-31Improve headless initialization in Rust APIMason Reed
- Add option to disable loading of user and repo plugins - Prevent shutting down the core while other sessions are still running The reason we need to prevent shutting down the core is if one session is dropped and another session has worker actions queued than they would be cleared prematurely, and also the enterprise license would be revoked prematurely as well.
2025-01-30Render LayersGlenn Smith
2025-01-27Update some rust impl DebugMason Reed
If a function had a tag it would recurse cyclicly
2025-01-27Fix some rust race conditions and comment some likely suspectsMason Reed
FYI The binary view saving stuff can deadlock right now, so we document that now :/
2025-01-25Misc rust formattingMason Reed