test(binaryinstall): Windows specific tests

master
Jesper Håkansson 6 years ago
parent 06b68d1367
commit 4c5e42ef8f
  1. 54
      binary-install/tests/all/download.rs

@ -29,7 +29,8 @@ fn it_returns_binary_name_for_unix() {
} }
#[test] #[test]
fn it_bails_if_not_file() { #[cfg(not(windows))]
fn it_bails_if_not_file_for_unix() {
let binary_name = "wasm-pack"; let binary_name = "wasm-pack";
let dir = tempfile::TempDir::new().unwrap(); let dir = tempfile::TempDir::new().unwrap();
@ -51,7 +52,31 @@ fn it_bails_if_not_file() {
} }
#[test] #[test]
fn it_bails_if_not_executable() { #[cfg(windows)]
fn it_bails_if_not_file_for_windows() {
let binary_name = "wasm-pack.exe";
let dir = tempfile::TempDir::new().unwrap();
let download = Download::at(dir.path());
let full_path = dir.path().join(binary_name);
let mut options = OpenOptions::new();
options.create(true);
options.write(true);
let binary = download.binary(binary_name);
assert!(binary.is_err());
assert_eq!(
format!("{} binary does not exist", full_path.to_str().unwrap()),
binary.unwrap_err().to_string()
);
}
#[test]
#[cfg(not(windows))]
fn it_bails_if_not_executable_for_unix() {
let binary_name = "wasm-pack"; let binary_name = "wasm-pack";
let dir = tempfile::TempDir::new().unwrap(); let dir = tempfile::TempDir::new().unwrap();
@ -73,3 +98,28 @@ fn it_bails_if_not_executable() {
binary.unwrap_err().to_string() binary.unwrap_err().to_string()
); );
} }
#[test]
#[cfg(windows)]
fn it_bails_if_not_executable_for_windows() {
let binary_name = "wasm-pack.exe";
let dir = tempfile::TempDir::new().unwrap();
let download = Download::at(dir.path());
let full_path = dir.path().join(binary_name);
let mut options = OpenOptions::new();
options.create(true);
options.write(true);
options.open(&full_path).unwrap();
let binary = download.binary(binary_name);
assert!(binary.is_err());
assert_eq!(
format!("{} is not executable", full_path.to_str().unwrap()),
binary.unwrap_err().to_string()
);
}

Loading…
Cancel
Save