File tree 1 file changed +52
-0
lines changed
1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -433,3 +433,55 @@ impl RawFrame {
433
433
}
434
434
}
435
435
}
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