#![warn(rust_2018_idioms)] | |
#![cfg(feature = "full")] | |
use tokio::process::Command; | |
use tokio_test::assert_ok; | |
#[tokio::test] | |
async fn simple() { | |
let mut cmd; | |
if cfg!(windows) { | |
cmd = Command::new("cmd"); | |
cmd.arg("/c"); | |
} else { | |
cmd = Command::new("sh"); | |
cmd.arg("-c"); | |
} | |
let mut child = cmd.arg("exit 2").spawn().unwrap(); | |
let id = child.id(); | |
assert!(id > 0); | |
let status = assert_ok!((&mut child).await); | |
assert_eq!(status.code(), Some(2)); | |
assert_eq!(child.id(), id); | |
drop(child.kill()); | |
} |