diff options
Diffstat (limited to 'vendor/jobserver/tests/server.rs')
-rw-r--r-- | vendor/jobserver/tests/server.rs | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/vendor/jobserver/tests/server.rs b/vendor/jobserver/tests/server.rs index fcdd12ca2..70ea218fc 100644 --- a/vendor/jobserver/tests/server.rs +++ b/vendor/jobserver/tests/server.rs @@ -8,7 +8,6 @@ use std::sync::Arc; use std::thread; use jobserver::Client; -use tempdir::TempDir; macro_rules! t { ($e:expr) => { @@ -35,6 +34,30 @@ fn server_multiple() { } #[test] +fn server_available() { + let c = t!(Client::new(10)); + assert_eq!(c.available().unwrap(), 10); + let a = c.acquire().unwrap(); + assert_eq!(c.available().unwrap(), 9); + drop(a); + assert_eq!(c.available().unwrap(), 10); +} + +#[test] +fn server_none_available() { + let c = t!(Client::new(2)); + assert_eq!(c.available().unwrap(), 2); + let a = c.acquire().unwrap(); + assert_eq!(c.available().unwrap(), 1); + let b = c.acquire().unwrap(); + assert_eq!(c.available().unwrap(), 0); + drop(a); + assert_eq!(c.available().unwrap(), 1); + drop(b); + assert_eq!(c.available().unwrap(), 2); +} + +#[test] fn server_blocks() { let c = t!(Client::new(1)); let a = c.acquire().unwrap(); @@ -56,7 +79,7 @@ fn server_blocks() { #[test] fn make_as_a_single_thread_client() { let c = t!(Client::new(1)); - let td = TempDir::new("foo").unwrap(); + let td = tempfile::tempdir().unwrap(); let prog = env::var("MAKE").unwrap_or_else(|_| "make".to_string()); let mut cmd = Command::new(prog); @@ -110,7 +133,7 @@ foo #[test] fn make_as_a_multi_thread_client() { let c = t!(Client::new(1)); - let td = TempDir::new("foo").unwrap(); + let td = tempfile::tempdir().unwrap(); let prog = env::var("MAKE").unwrap_or_else(|_| "make".to_string()); let mut cmd = Command::new(prog); |