chore: Stop cding into binary_install and use --all instead

test: Put tests that access private functions in tests module
master
Jesper Håkansson 7 years ago
parent 3fc5df8b7a
commit 74739e5a10
  1. 6
      .travis.yml
  2. 95
      binary-install/src/lib.rs

@ -47,14 +47,10 @@ matrix:
install: install:
- *INSTALL_NODE_VIA_NVM - *INSTALL_NODE_VIA_NVM
script: script:
- cargo test --locked - cargo test --all --locked
- rustup component add rustfmt-preview - rustup component add rustfmt-preview
- cargo fmt --version - cargo fmt --version
- cargo fmt --all -- --check - cargo fmt --all -- --check
- cd binary-install
- cargo test
- cargo fmt --all -- --check
- cd ..
- name: Book - name: Book
rust: stable rust: stable

@ -278,64 +278,69 @@ fn hashed_dirname(url: &str, name: &str) -> String {
format!("{}-{}", name, hex) format!("{}-{}", name, hex)
} }
#[test] #[cfg(test)]
fn it_returns_same_hash_for_same_name_and_url() { mod tests {
let name = "wasm-pack"; use super::*;
let url = "http://localhost:7878/wasm-pack-v0.6.0.tar.gz";
let first = hashed_dirname(url, name); #[test]
let second = hashed_dirname(url, name); fn it_returns_same_hash_for_same_name_and_url() {
let name = "wasm-pack";
let url = "http://localhost:7878/wasm-pack-v0.6.0.tar.gz";
assert!(!first.is_empty()); let first = hashed_dirname(url, name);
assert!(!second.is_empty()); let second = hashed_dirname(url, name);
assert_eq!(first, second);
} assert!(!first.is_empty());
assert!(!second.is_empty());
assert_eq!(first, second);
}
#[test] #[test]
fn it_returns_different_hashes_for_different_urls() { fn it_returns_different_hashes_for_different_urls() {
let name = "wasm-pack"; let name = "wasm-pack";
let url = "http://localhost:7878/wasm-pack-v0.5.1.tar.gz"; let url = "http://localhost:7878/wasm-pack-v0.5.1.tar.gz";
let second_url = "http://localhost:7878/wasm-pack-v0.6.0.tar.gz"; let second_url = "http://localhost:7878/wasm-pack-v0.6.0.tar.gz";
let first = hashed_dirname(url, name); let first = hashed_dirname(url, name);
let second = hashed_dirname(second_url, name); let second = hashed_dirname(second_url, name);
assert_ne!(first, second); assert_ne!(first, second);
} }
#[test] #[test]
fn it_returns_cache_dir() { fn it_returns_cache_dir() {
let name = "wasm-pack"; let name = "wasm-pack";
let cache = Cache::new(name); let cache = Cache::new(name);
let expected = dirs::cache_dir() let expected = dirs::cache_dir()
.unwrap() .unwrap()
.join(PathBuf::from(".".to_owned() + name)); .join(PathBuf::from(".".to_owned() + name));
assert!(cache.is_ok()); assert!(cache.is_ok());
assert_eq!(cache.unwrap().destination, expected); assert_eq!(cache.unwrap().destination, expected);
} }
#[test] #[test]
fn it_returns_destination_if_binary_already_exists() { fn it_returns_destination_if_binary_already_exists() {
use std::fs; use std::fs;
let binary_name = "wasm-pack"; let binary_name = "wasm-pack";
let binaries = vec![binary_name]; let binaries = vec![binary_name];
let dir = tempfile::TempDir::new().unwrap(); let dir = tempfile::TempDir::new().unwrap();
let cache = Cache::at(dir.path()); let cache = Cache::at(dir.path());
let url = &format!("{}/{}.tar.gz", "http://localhost:7878", binary_name); let url = &format!("{}/{}.tar.gz", "http://localhost:7878", binary_name);
let dirname = hashed_dirname(&url, &binary_name); let dirname = hashed_dirname(&url, &binary_name);
let full_path = dir.path().join(dirname); let full_path = dir.path().join(dirname);
// Create temporary directory and binary to simulate that // Create temporary directory and binary to simulate that
// a cached binary already exists. // a cached binary already exists.
fs::create_dir_all(full_path).unwrap(); fs::create_dir_all(full_path).unwrap();
let dl = cache.download(true, binary_name, &binaries, url); let dl = cache.download(true, binary_name, &binaries, url);
assert!(dl.is_ok()); assert!(dl.is_ok());
assert!(dl.unwrap().is_some()) assert!(dl.unwrap().is_some())
}
} }

Loading…
Cancel
Save