#![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); }