Rollup merge of #95114 - ChrisDenton:symlink-test, r=the8472

Skip a test if symlink creation is not possible

If someone running tests on Windows does not have Developer Mode enabled then creating symlinks will fail which in turn would cause this test to fail. This can be a stumbling block for contributors.
This commit is contained in:
Matthias Krüger 2022-03-20 20:42:43 +01:00 committed by GitHub
commit 3c02b5192e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -186,8 +186,15 @@ fn windows_exe_resolver() {
let temp = tmpdir();
let mut exe_path = temp.path().to_owned();
exe_path.push("exists.exe");
symlink("<DOES NOT EXIST>".as_ref(), &exe_path).unwrap();
// A broken symlink should still be resolved.
assert!(resolve_exe(OsStr::new("exists.exe"), empty_paths, Some(temp.path().as_ref())).is_ok());
// Skip this check if not in CI and creating symlinks isn't possible.
let is_ci = env::var("CI").is_ok();
let result = symlink("<DOES NOT EXIST>".as_ref(), &exe_path);
if is_ci || result.is_ok() {
result.unwrap();
assert!(
resolve_exe(OsStr::new("exists.exe"), empty_paths, Some(temp.path().as_ref())).is_ok()
);
}
}