aboutsummaryrefslogtreecommitdiff
path: root/vendor/addr2line/tests/parse.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/addr2line/tests/parse.rs')
-rw-r--r--vendor/addr2line/tests/parse.rs114
1 files changed, 0 insertions, 114 deletions
diff --git a/vendor/addr2line/tests/parse.rs b/vendor/addr2line/tests/parse.rs
deleted file mode 100644
index 4dafe38..0000000
--- a/vendor/addr2line/tests/parse.rs
+++ /dev/null
@@ -1,114 +0,0 @@
-use std::borrow::Cow;
-use std::env;
-use std::fs::File;
-use std::path::{self, PathBuf};
-
-use object::Object;
-
-fn release_fixture_path() -> PathBuf {
- if let Ok(p) = env::var("ADDR2LINE_FIXTURE_PATH") {
- return p.into();
- }
-
- let mut path = PathBuf::new();
- if let Ok(dir) = env::var("CARGO_MANIFEST_DIR") {
- path.push(dir);
- }
- path.push("fixtures");
- path.push("addr2line-release");
- path
-}
-
-fn with_file<F: FnOnce(&object::File<'_>)>(target: &path::Path, f: F) {
- let file = File::open(target).unwrap();
- let map = unsafe { memmap2::Mmap::map(&file).unwrap() };
- let file = object::File::parse(&*map).unwrap();
- f(&file)
-}
-
-fn dwarf_load<'a>(object: &object::File<'a>) -> gimli::Dwarf<Cow<'a, [u8]>> {
- let load_section = |id: gimli::SectionId| -> Result<Cow<'a, [u8]>, gimli::Error> {
- use object::ObjectSection;
-
- let data = object
- .section_by_name(id.name())
- .and_then(|section| section.data().ok())
- .unwrap_or(&[][..]);
- Ok(Cow::Borrowed(data))
- };
- gimli::Dwarf::load(&load_section).unwrap()
-}
-
-fn dwarf_borrow<'a>(
- dwarf: &'a gimli::Dwarf<Cow<'_, [u8]>>,
-) -> gimli::Dwarf<gimli::EndianSlice<'a, gimli::LittleEndian>> {
- let borrow_section: &dyn for<'b> Fn(
- &'b Cow<'_, [u8]>,
- ) -> gimli::EndianSlice<'b, gimli::LittleEndian> =
- &|section| gimli::EndianSlice::new(section, gimli::LittleEndian);
- dwarf.borrow(&borrow_section)
-}
-
-#[test]
-fn parse_base_rc() {
- let target = release_fixture_path();
-
- with_file(&target, |file| {
- addr2line::ObjectContext::new(file).unwrap();
- });
-}
-
-#[test]
-fn parse_base_slice() {
- let target = release_fixture_path();
-
- with_file(&target, |file| {
- let dwarf = dwarf_load(file);
- let dwarf = dwarf_borrow(&dwarf);
- addr2line::Context::from_dwarf(dwarf).unwrap();
- });
-}
-
-#[test]
-fn parse_lines_rc() {
- let target = release_fixture_path();
-
- with_file(&target, |file| {
- let context = addr2line::ObjectContext::new(file).unwrap();
- context.parse_lines().unwrap();
- });
-}
-
-#[test]
-fn parse_lines_slice() {
- let target = release_fixture_path();
-
- with_file(&target, |file| {
- let dwarf = dwarf_load(file);
- let dwarf = dwarf_borrow(&dwarf);
- let context = addr2line::Context::from_dwarf(dwarf).unwrap();
- context.parse_lines().unwrap();
- });
-}
-
-#[test]
-fn parse_functions_rc() {
- let target = release_fixture_path();
-
- with_file(&target, |file| {
- let context = addr2line::ObjectContext::new(file).unwrap();
- context.parse_functions().unwrap();
- });
-}
-
-#[test]
-fn parse_functions_slice() {
- let target = release_fixture_path();
-
- with_file(&target, |file| {
- let dwarf = dwarf_load(file);
- let dwarf = dwarf_borrow(&dwarf);
- let context = addr2line::Context::from_dwarf(dwarf).unwrap();
- context.parse_functions().unwrap();
- });
-}