Skip to content

Commit

Permalink
Add test of Debug representation of Backtrace
Browse files Browse the repository at this point in the history
  • Loading branch information
dtolnay committed Mar 9, 2020
1 parent a9cc010 commit 33600e4
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions src/libstd/backtrace.rs
Expand Up @@ -433,3 +433,55 @@ impl RawFrame {
}
}
}

#[test]
fn test_debug() {
let backtrace = Backtrace {
inner: Inner::Captured(Mutex::new(Capture {
actual_start: 1,
resolved: true,
frames: vec![
BacktraceFrame {
frame: RawFrame::Fake,
symbols: vec![BacktraceSymbol {
name: Some(b"std::backtrace::Backtrace::create".to_vec()),
filename: Some(BytesOrWide::Bytes(b"/rust/backtrace.rs".to_vec())),
lineno: Some(100),
}],
},
BacktraceFrame {
frame: RawFrame::Fake,
symbols: vec![BacktraceSymbol {
name: Some(b"__rust_maybe_catch_panic".to_vec()),
filename: None,
lineno: None,
}],
},
BacktraceFrame {
frame: RawFrame::Fake,
symbols: vec![
BacktraceSymbol {
name: Some(b"std::rt::lang_start_internal".to_vec()),
filename: Some(BytesOrWide::Bytes(b"/rust/rt.rs".to_vec())),
lineno: Some(300),
},
BacktraceSymbol {
name: Some(b"std::rt::lang_start".to_vec()),
filename: Some(BytesOrWide::Bytes(b"/rust/rt.rs".to_vec())),
lineno: Some(400),
},
],
},
],
})),
};

#[rustfmt::skip]
let expected = "Backtrace [\
\n { fn: \"__rust_maybe_catch_panic\" },\
\n { fn: \"std::rt::lang_start_internal\", file: \"/rust/rt.rs\", line: 300 },\
\n { fn: \"std::rt::lang_start\", file: \"/rust/rt.rs\", line: 400 },\
\n]";

assert_eq!(format!("{:#?}", backtrace), expected);
}

0 comments on commit 33600e4

Please sign in to comment.