File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -433,3 +433,55 @@ impl RawFrame {
433433 }
434434 }
435435}
436+
437+ #[ test]
438+ fn test_debug ( ) {
439+ let backtrace = Backtrace {
440+ inner : Inner :: Captured ( Mutex :: new ( Capture {
441+ actual_start : 1 ,
442+ resolved : true ,
443+ frames : vec ! [
444+ BacktraceFrame {
445+ frame: RawFrame :: Fake ,
446+ symbols: vec![ BacktraceSymbol {
447+ name: Some ( b"std::backtrace::Backtrace::create" . to_vec( ) ) ,
448+ filename: Some ( BytesOrWide :: Bytes ( b"/rust/backtrace.rs" . to_vec( ) ) ) ,
449+ lineno: Some ( 100 ) ,
450+ } ] ,
451+ } ,
452+ BacktraceFrame {
453+ frame: RawFrame :: Fake ,
454+ symbols: vec![ BacktraceSymbol {
455+ name: Some ( b"__rust_maybe_catch_panic" . to_vec( ) ) ,
456+ filename: None ,
457+ lineno: None ,
458+ } ] ,
459+ } ,
460+ BacktraceFrame {
461+ frame: RawFrame :: Fake ,
462+ symbols: vec![
463+ BacktraceSymbol {
464+ name: Some ( b"std::rt::lang_start_internal" . to_vec( ) ) ,
465+ filename: Some ( BytesOrWide :: Bytes ( b"/rust/rt.rs" . to_vec( ) ) ) ,
466+ lineno: Some ( 300 ) ,
467+ } ,
468+ BacktraceSymbol {
469+ name: Some ( b"std::rt::lang_start" . to_vec( ) ) ,
470+ filename: Some ( BytesOrWide :: Bytes ( b"/rust/rt.rs" . to_vec( ) ) ) ,
471+ lineno: Some ( 400 ) ,
472+ } ,
473+ ] ,
474+ } ,
475+ ] ,
476+ } ) ) ,
477+ } ;
478+
479+ #[ rustfmt:: skip]
480+ let expected = "Backtrace [\
481+ \n { fn: \" __rust_maybe_catch_panic\" },\
482+ \n { fn: \" std::rt::lang_start_internal\" , file: \" /rust/rt.rs\" , line: 300 },\
483+ \n { fn: \" std::rt::lang_start\" , file: \" /rust/rt.rs\" , line: 400 },\
484+ \n ]";
485+
486+ assert_eq ! ( format!( "{:#?}" , backtrace) , expected) ;
487+ }
You can’t perform that action at this time.
0 commit comments