зеркало из https://github.com/mozilla/gecko-dev.git
24 строки
583 B
Rust
24 строки
583 B
Rust
#![warn(rust_2018_idioms)]
|
|
#![cfg(feature = "full")]
|
|
#![cfg(windows)]
|
|
|
|
use tokio::process::Command;
|
|
use winapi::um::processthreadsapi::GetProcessId;
|
|
|
|
#[tokio::test]
|
|
async fn obtain_raw_handle() {
|
|
let mut cmd = Command::new("cmd");
|
|
cmd.kill_on_drop(true);
|
|
cmd.arg("/c");
|
|
cmd.arg("pause");
|
|
|
|
let child = cmd.spawn().unwrap();
|
|
|
|
let orig_id = child.id().expect("missing id");
|
|
assert!(orig_id > 0);
|
|
|
|
let handle = child.raw_handle().expect("process stopped");
|
|
let handled_id = unsafe { GetProcessId(handle as _) };
|
|
assert_eq!(handled_id, orig_id);
|
|
}
|