26 lines
717 B
Rust
26 lines
717 B
Rust
|
#![cfg(feature = "read")]
|
||
|
use object::{File, Object};
|
||
|
use std::{env, fs};
|
||
|
|
||
|
#[test]
|
||
|
fn parse_self() {
|
||
|
let exe = env::current_exe().unwrap();
|
||
|
let data = fs::read(exe).unwrap();
|
||
|
let object = File::parse(&*data).unwrap();
|
||
|
assert!(object.entry() != 0);
|
||
|
assert!(object.sections().count() != 0);
|
||
|
}
|
||
|
|
||
|
#[cfg(feature = "std")]
|
||
|
#[test]
|
||
|
fn parse_self_cache() {
|
||
|
use object::read::{ReadCache, ReadRef};
|
||
|
let exe = env::current_exe().unwrap();
|
||
|
let file = fs::File::open(exe).unwrap();
|
||
|
let cache = ReadCache::new(file);
|
||
|
let data = cache.range(0, cache.len().unwrap());
|
||
|
let object = File::parse(data).unwrap();
|
||
|
assert!(object.entry() != 0);
|
||
|
assert!(object.sections().count() != 0);
|
||
|
}
|