2025-06-16 20:24:50 +08:00
|
|
|
//@ ignore-cross-compile
|
2024-05-02 12:04:20 +02:00
|
|
|
//! This test checks rustc `-` (stdin) support
|
|
|
|
|
|
2024-06-06 21:34:34 +02:00
|
|
|
use std::path::PathBuf;
|
2024-05-02 12:04:20 +02:00
|
|
|
|
2025-06-16 20:24:50 +08:00
|
|
|
use run_make_support::{bin_name, rustc};
|
2024-07-29 08:13:50 +10:00
|
|
|
|
2024-05-02 12:04:20 +02:00
|
|
|
const HELLO_WORLD: &str = r#"
|
|
|
|
|
fn main() {
|
|
|
|
|
println!("Hello world!");
|
|
|
|
|
}
|
|
|
|
|
"#;
|
|
|
|
|
|
|
|
|
|
const NOT_UTF8: &[u8] = &[0xff, 0xff, 0xff];
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
// echo $HELLO_WORLD | rustc -
|
2024-09-05 08:02:32 +08:00
|
|
|
rustc().arg("-").stdin_buf(HELLO_WORLD).run();
|
2025-06-16 20:24:50 +08:00
|
|
|
assert!(PathBuf::from(bin_name("rust_out")).try_exists().unwrap());
|
2024-05-02 12:04:20 +02:00
|
|
|
|
|
|
|
|
// echo $NOT_UTF8 | rustc -
|
2024-09-05 08:02:32 +08:00
|
|
|
rustc().arg("-").stdin_buf(NOT_UTF8).run_fail().assert_stderr_contains(
|
2024-06-07 15:23:10 +02:00
|
|
|
"error: couldn't read from stdin, as it did not contain valid UTF-8",
|
|
|
|
|
);
|
2024-05-02 12:04:20 +02:00
|
|
|
}
|