debugger: Pass --nocapture to cargo tests when building debug tasks with locator (#32633)
Release Notes: - Add --nocapture as a default argument when debugging rust tests Co-authored-by: Cole Miller <m@cole-miller.net>
This commit is contained in:
parent
7d708c14e4
commit
d725371c42
1 changed files with 10 additions and 4 deletions
|
@ -57,10 +57,10 @@ impl DapLocator for CargoLocator {
|
||||||
}
|
}
|
||||||
|
|
||||||
match cargo_action.as_ref() {
|
match cargo_action.as_ref() {
|
||||||
"run" => {
|
"run" | "r" => {
|
||||||
*cargo_action = "build".to_owned();
|
*cargo_action = "build".to_owned();
|
||||||
}
|
}
|
||||||
"test" | "bench" => {
|
"test" | "t" | "bench" => {
|
||||||
let delimiter = task_template
|
let delimiter = task_template
|
||||||
.args
|
.args
|
||||||
.iter()
|
.iter()
|
||||||
|
@ -133,7 +133,10 @@ impl DapLocator for CargoLocator {
|
||||||
!executables.is_empty(),
|
!executables.is_empty(),
|
||||||
"Couldn't get executable in cargo locator"
|
"Couldn't get executable in cargo locator"
|
||||||
);
|
);
|
||||||
let is_test = build_config.args.first().map_or(false, |arg| arg == "test");
|
let is_test = build_config
|
||||||
|
.args
|
||||||
|
.first()
|
||||||
|
.map_or(false, |arg| arg == "test" || arg == "t");
|
||||||
|
|
||||||
let mut test_name = None;
|
let mut test_name = None;
|
||||||
if is_test {
|
if is_test {
|
||||||
|
@ -161,7 +164,10 @@ impl DapLocator for CargoLocator {
|
||||||
anyhow::bail!("Couldn't get executable in cargo locator");
|
anyhow::bail!("Couldn't get executable in cargo locator");
|
||||||
};
|
};
|
||||||
|
|
||||||
let args = test_name.into_iter().collect();
|
let mut args: Vec<_> = test_name.into_iter().collect();
|
||||||
|
if is_test {
|
||||||
|
args.push("--nocapture".to_owned());
|
||||||
|
}
|
||||||
|
|
||||||
Ok(DebugRequest::Launch(task::LaunchRequest {
|
Ok(DebugRequest::Launch(task::LaunchRequest {
|
||||||
program: executable,
|
program: executable,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue