Skip to content

Commit

Permalink
gdb
Browse files Browse the repository at this point in the history
  • Loading branch information
weihanglo committed Dec 1, 2023
1 parent 86997df commit 473bac3
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions tests/testsuite/profile_trim_paths.rs
Original file line number Diff line number Diff line change
Expand Up @@ -679,3 +679,70 @@ thread '[..]' panicked at [..]src/main.rs:4[..]",
.unwrap();
match_contains("[..]ferris panics![..]", &stdout, None).unwrap();
}

#[cargo_test(requires_gdb, nightly, , reason = "-Zremap-path-scope is unstable")]
fn lldb_works_after_trimmed() {
use cargo_test_support::compare::match_contains;

let run_lldb = |path| {
std::process::Command::new("gdb")
.args(["-ex", "break src/main.rs:4"])
.args(["-ex", "run"])
.args(["-ex", "continue"])
.args(["-ex", "quit"])
.arg(path)
.output()
.expect("gdb works")
};

let p = project()
.file(
"Cargo.toml",
r#"
[package]
name = "foo"
version = "0.0.1"
[profile.dev]
trim-paths = "object"
"#,
)
.file(
"src/main.rs",
r#"
fn main() {
let msg = "ferris panics!";
panic!("{}", msg);
}
"#,
)
.build();

p.cargo("build --verbose -Ztrim-paths")
.masquerade_as_nightly_cargo(&["-Ztrim-paths"])
.with_stderr_contains(
"\
[RUNNING] `rustc [..]\
-Zremap-path-scope=object \
--remap-path-prefix=[CWD]= \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]",
)
.run();

let bin_path = p.bin("foo");
assert!(bin_path.is_file());
let stdout = String::from_utf8(run_lldb(bin_path).stdout).unwrap();
match_contains("Breakpoint 1 at [..]: file src/main.rs, line 3[..]", &stdout, None).unwrap();
match_contains("Starting program: [CWD]/target/debug/foo[EXE]", &stdout, None).unwrap();
match_contains(
"\
Breakpoint 1, x::main () at src/main.rs:4
4 panic!(\"{}\", msg);
Continuing.
thread [..] panicked at [..]src/main.rs:4:[..]",
&stdout,
None,
)
.unwrap();
match_contains("[..]ferris panics![..]", &stdout, None).unwrap();
}

0 comments on commit 473bac3

Please sign in to comment.