mirror of
https://github.com/tokio-rs/tokio.git
synced 2025-10-01 12:20:39 +00:00
34 lines
633 B
Rust
34 lines
633 B
Rust
#![cfg(feature = "process")]
|
|
#![warn(rust_2018_idioms)]
|
|
|
|
use tokio_net::process::Command;
|
|
|
|
mod support;
|
|
use support::*;
|
|
|
|
#[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 = with_timeout(&mut child)
|
|
.await
|
|
.expect("failed to run future");
|
|
assert_eq!(status.code(), Some(2));
|
|
|
|
assert_eq!(child.id(), id);
|
|
drop(child.kill());
|
|
}
|