1 #![warn(rust_2018_idioms)]
2 #![cfg(feature = "full")]
3 
4 use tokio::process::Command;
5 use tokio_test::assert_ok;
6 
7 #[tokio::test]
simple()8 async fn simple() {
9     let mut cmd;
10 
11     if cfg!(windows) {
12         cmd = Command::new("cmd");
13         cmd.arg("/c");
14     } else {
15         cmd = Command::new("sh");
16         cmd.arg("-c");
17     }
18 
19     let mut child = cmd.arg("exit 2").spawn().unwrap();
20 
21     let id = child.id();
22     assert!(id > 0);
23 
24     let status = assert_ok!((&mut child).await);
25     assert_eq!(status.code(), Some(2));
26 
27     assert_eq!(child.id(), id);
28     drop(child.kill());
29 }
30