fix(windows): avoid inadvertly running exes from cwd (#2885)

On Windows when running commands with their name instead of the path with Command::new, executable with that name from the current working directory will be executed.

This PR replaces all instances of Command::new with a new create_command function which will first resolve any executable paths and avoid this issue.
This commit is contained in:
David Knaack
2021-07-16 21:20:59 +02:00
committed by GitHub
parent e1fc137dc9
commit 1eaf996a36
19 changed files with 126 additions and 93 deletions
-12
View File
@@ -265,18 +265,6 @@ mod tests {
assert!(link.contains("No+Starship+config"));
}
#[test]
fn test_get_shell_info() {
env::remove_var("STARSHIP_SHELL");
let unknown_shell = get_shell_info();
assert_eq!(UNKNOWN_SHELL, &unknown_shell.name);
env::set_var("STARSHIP_SHELL", "fish");
let fish_shell = get_shell_info();
assert_eq!("fish", &fish_shell.name);
}
#[test]
#[cfg(not(windows))]
fn test_get_config_path() {