summaryrefslogtreecommitdiffstats
path: root/vendor/jobserver/tests/client-of-myself.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vendor/jobserver/tests/client-of-myself.rs118
1 files changed, 59 insertions, 59 deletions
diff --git a/vendor/jobserver/tests/client-of-myself.rs b/vendor/jobserver/tests/client-of-myself.rs
index 45d57b0b5..bb690b5aa 100644
--- a/vendor/jobserver/tests/client-of-myself.rs
+++ b/vendor/jobserver/tests/client-of-myself.rs
@@ -1,59 +1,59 @@
-use std::env;
-use std::io::prelude::*;
-use std::io::BufReader;
-use std::process::{Command, Stdio};
-use std::sync::mpsc;
-use std::thread;
-
-use jobserver::Client;
-
-macro_rules! t {
- ($e:expr) => {
- match $e {
- Ok(e) => e,
- Err(e) => panic!("{} failed with {}", stringify!($e), e),
- }
- };
-}
-
-fn main() {
- if env::var("I_AM_THE_CLIENT").is_ok() {
- client();
- } else {
- server();
- }
-}
-
-fn server() {
- let me = t!(env::current_exe());
- let client = t!(Client::new(1));
- let mut cmd = Command::new(me);
- cmd.env("I_AM_THE_CLIENT", "1").stdout(Stdio::piped());
- client.configure(&mut cmd);
- let acq = client.acquire().unwrap();
- let mut child = t!(cmd.spawn());
- let stdout = child.stdout.take().unwrap();
- let (tx, rx) = mpsc::channel();
- let t = thread::spawn(move || {
- for line in BufReader::new(stdout).lines() {
- tx.send(t!(line)).unwrap();
- }
- });
-
- for _ in 0..100 {
- assert!(rx.try_recv().is_err());
- }
-
- drop(acq);
- assert_eq!(rx.recv().unwrap(), "hello!");
- t.join().unwrap();
- assert!(rx.recv().is_err());
- client.acquire().unwrap();
-}
-
-fn client() {
- let client = unsafe { Client::from_env().unwrap() };
- let acq = client.acquire().unwrap();
- println!("hello!");
- drop(acq);
-}
+use std::env;
+use std::io::prelude::*;
+use std::io::BufReader;
+use std::process::{Command, Stdio};
+use std::sync::mpsc;
+use std::thread;
+
+use jobserver::Client;
+
+macro_rules! t {
+ ($e:expr) => {
+ match $e {
+ Ok(e) => e,
+ Err(e) => panic!("{} failed with {}", stringify!($e), e),
+ }
+ };
+}
+
+fn main() {
+ if env::var("I_AM_THE_CLIENT").is_ok() {
+ client();
+ } else {
+ server();
+ }
+}
+
+fn server() {
+ let me = t!(env::current_exe());
+ let client = t!(Client::new(1));
+ let mut cmd = Command::new(me);
+ cmd.env("I_AM_THE_CLIENT", "1").stdout(Stdio::piped());
+ client.configure(&mut cmd);
+ let acq = client.acquire().unwrap();
+ let mut child = t!(cmd.spawn());
+ let stdout = child.stdout.take().unwrap();
+ let (tx, rx) = mpsc::channel();
+ let t = thread::spawn(move || {
+ for line in BufReader::new(stdout).lines() {
+ tx.send(t!(line)).unwrap();
+ }
+ });
+
+ for _ in 0..100 {
+ assert!(rx.try_recv().is_err());
+ }
+
+ drop(acq);
+ assert_eq!(rx.recv().unwrap(), "hello!");
+ t.join().unwrap();
+ assert!(rx.recv().is_err());
+ client.acquire().unwrap();
+}
+
+fn client() {
+ let client = unsafe { Client::from_env().unwrap() };
+ let acq = client.acquire().unwrap();
+ println!("hello!");
+ drop(acq);
+}