MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / test_binary_reader_seek

Function test_binary_reader_seek

rust/tests/binary_reader.rs:8–44  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6
7#[test]
8fn test_binary_reader_seek() {
9 let _session = Session::new().expect("Failed to initialize session");
10 let out_dir = env!("OUT_DIR").parse::<PathBuf>().unwrap();
11 let view = binaryninja::load(out_dir.join("atox.obj")).expect("Failed to create view");
12 let mut reader = BinaryReader::new(&view);
13 let end_offset = view.len();
14
15 // Test seeking to a specific position
16 reader
17 .seek(SeekFrom::Start(0))
18 .expect("Failed to seek to start");
19 assert_eq!(reader.offset(), 0, "Reader failed to seek to the start");
20
21 reader
22 .seek(SeekFrom::End(0))
23 .expect("Failed to seek to end");
24 assert_eq!(
25 reader.offset(),
26 end_offset,
27 "Reader failed to seek to the end"
28 );
29
30 // Test relative seeking
31 reader
32 .seek(SeekFrom::Start(10))
33 .expect("Failed to seek to position 10");
34 assert_eq!(reader.offset(), 10, "Reader failed to seek to position 10");
35
36 reader
37 .seek(SeekFrom::Current(-5))
38 .expect("Failed to perform relative seek");
39 assert_eq!(
40 reader.offset(),
41 5,
42 "Reader failed to perform relative seek correctly"
43 );
44}
45
46#[test]
47fn test_binary_reader_read() {

Callers

nothing calls this directly

Calls 5

EndFunction · 0.85
joinMethod · 0.80
loadFunction · 0.50
lenMethod · 0.45
seekMethod · 0.45

Tested by

no test coverage detected