rust/library/std/tests/pipe_subprocess.rs
bjorn3 d0a70d9328 Fix testing of the standard library with Emscripten
This does need EMCC_CFLAGS="-s MAXIMUM_MEMORY=2GB" avoid several OOMs.
2025-01-24 09:25:34 +00:00

40 lines
971 B
Rust

#![feature(anonymous_pipe)]
fn main() {
#[cfg(all(not(miri), any(unix, windows), not(target_os = "emscripten")))]
{
use std::io::{Read, pipe};
use std::{env, process};
if env::var("I_AM_THE_CHILD").is_ok() {
child();
} else {
parent();
}
fn parent() {
let me = env::current_exe().unwrap();
let (rx, tx) = pipe().unwrap();
assert!(
process::Command::new(me)
.env("I_AM_THE_CHILD", "1")
.stdout(tx)
.status()
.unwrap()
.success()
);
let mut s = String::new();
(&rx).read_to_string(&mut s).unwrap();
drop(rx);
assert_eq!(s, "Heloo,\n");
println!("Test pipe_subprocess.rs success");
}
fn child() {
println!("Heloo,");
}
}
}