fix(test): align vscode launch path assertion with native host layout

This commit is contained in:
2026-08-05 01:04:43 +08:00
parent 3f925f437f
commit 09e7f5b880

View File

@@ -100,10 +100,28 @@ fn gen_vscode_launch_uses_resolver() {
); );
let launch = fs::read_to_string(project.join(".vscode").join("launch.json")).unwrap(); let launch = fs::read_to_string(project.join(".vscode").join("launch.json")).unwrap();
assert!(launch.contains("\"program\""), "launch missing program"); assert!(launch.contains("\"program\""), "launch missing program");
if cfg!(target_os = "linux")
|| cfg!(any(
target_os = "freebsd",
target_os = "openbsd",
target_os = "netbsd",
target_os = "dragonfly"
))
{
assert!( assert!(
!launch.contains("target/debug/app\"") || launch.contains("linux"), !launch.contains("/target/debug/app\""),
"program should use platform path layout when applicable: {launch}" "unix host layout should include triple under target/: {launch}"
); );
assert!(
launch.contains(&format!("{}-unknown-", std::env::consts::ARCH)),
"program should include host triple: {launch}"
);
} else {
assert!(
launch.contains("target/debug/app") || launch.contains(r"target\debug\app"),
"native host layout expected under target/debug: {launch}"
);
}
let settings = fs::read_to_string(project.join(".vscode").join("settings.json")).unwrap(); let settings = fs::read_to_string(project.join(".vscode").join("settings.json")).unwrap();
assert!( assert!(
settings.contains(".dcr") || settings.contains("compile-commands-dir"), settings.contains(".dcr") || settings.contains("compile-commands-dir"),