@@ -1474,29 +1474,8 @@ impl<'test> TestCx<'test> {
1474
1474
// Switch LLDB into "Rust mode"
1475
1475
let rust_src_root =
1476
1476
self . config . find_rust_src_root ( ) . expect ( "Could not find Rust source root" ) ;
1477
- let rust_pp_module_rel_path = Path :: new ( "./src/etc/lldb_lookup.py" ) ;
1478
- let rust_pp_module_abs_path =
1479
- rust_src_root. join ( rust_pp_module_rel_path) . to_str ( ) . unwrap ( ) . to_owned ( ) ;
1480
-
1481
- let rust_type_regexes = vec ! [
1482
- "^(alloc::([a-z_]+::)+)String$" ,
1483
- "^&(mut )?str$" ,
1484
- "^&(mut )?\\ [.+\\ ]$" ,
1485
- "^(std::ffi::([a-z_]+::)+)OsString$" ,
1486
- "^(alloc::([a-z_]+::)+)Vec<.+>$" ,
1487
- "^(alloc::([a-z_]+::)+)VecDeque<.+>$" ,
1488
- "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" ,
1489
- "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" ,
1490
- "^(std::collections::([a-z_]+::)+)HashMap<.+>$" ,
1491
- "^(std::collections::([a-z_]+::)+)HashSet<.+>$" ,
1492
- "^(alloc::([a-z_]+::)+)Rc<.+>$" ,
1493
- "^(alloc::([a-z_]+::)+)Arc<.+>$" ,
1494
- "^(core::([a-z_]+::)+)Cell<.+>$" ,
1495
- "^(core::([a-z_]+::)+)Ref<.+>$" ,
1496
- "^(core::([a-z_]+::)+)RefMut<.+>$" ,
1497
- "^(core::([a-z_]+::)+)RefCell<.+>$" ,
1498
- "^(core::([a-z_]+::)+)NonZero<.+>$" ,
1499
- ] ;
1477
+ let rust_pp_module_rel_path = Path :: new ( "./src/etc" ) ;
1478
+ let rust_pp_module_abs_path = rust_src_root. join ( rust_pp_module_rel_path) ;
1500
1479
1501
1480
// In newer versions of lldb, persistent results (the `$N =` part at the start of
1502
1481
// expressions you have evaluated that let you re-use the result) aren't printed, but lots
@@ -1507,16 +1486,13 @@ impl<'test> TestCx<'test> {
1507
1486
script_str. push_str ( "command unalias p\n " ) ;
1508
1487
script_str. push_str ( "command alias p expr --\n " ) ;
1509
1488
1510
- script_str
1511
- . push_str ( & format ! ( "command script import {}\n " , & rust_pp_module_abs_path[ ..] ) [ ..] ) ;
1512
- script_str. push_str ( "type synthetic add -l lldb_lookup.synthetic_lookup -x '.*' " ) ;
1513
- script_str. push_str ( "--category Rust\n " ) ;
1514
- for type_regex in rust_type_regexes {
1515
- script_str. push_str ( "type summary add -F lldb_lookup.summary_lookup -e -x -h " ) ;
1516
- script_str. push_str ( & format ! ( "'{}' " , type_regex) ) ;
1517
- script_str. push_str ( "--category Rust\n " ) ;
1518
- }
1519
- script_str. push_str ( "type category enable Rust\n " ) ;
1489
+ script_str. push_str ( & format ! (
1490
+ "command script import {}/lldb_lookup.py\n " ,
1491
+ rust_pp_module_abs_path. to_str( ) . unwrap( )
1492
+ ) ) ;
1493
+ File :: open ( rust_pp_module_abs_path. join ( "lldb_commands" ) )
1494
+ . and_then ( |mut file| file. read_to_string ( & mut script_str) )
1495
+ . expect ( "Failed to read lldb_commands" ) ;
1520
1496
1521
1497
// Set breakpoints on every line that contains the string "#break"
1522
1498
let source_file_name = self . testpaths . file . file_name ( ) . unwrap ( ) . to_string_lossy ( ) ;
0 commit comments