| // Rustc displays a compilation error when it finds a `mod` (module) |
| // statement referencing a file that does not exist. However, a bug from 2019 |
| // caused invalid `mod` statements to silently insert empty inline modules |
| // instead of showing an error if the invalid `mod` statement had been passed |
| // through standard input. This test checks that this bug does not make a resurgence. |
| // See https://github.com/rust-lang/rust/issues/65601 |
| |
| // NOTE: This is not a UI test, because the bug which this test |
| // is checking for is specifically tied to passing |
| // `mod unknown;` through standard input. |
| |
| use run_make_support::{diff, rustc}; |
| |
| fn main() { |
| let out = rustc().crate_type("rlib").stdin_buf(b"mod unknown;").arg("-").run_fail(); |
| diff() |
| .actual_text("actual-stdout", out.stdout_utf8()) |
| .expected_file("unknown-mod.stdout") |
| .run(); |
| diff() |
| .actual_text("actual-stderr", out.stderr_utf8()) |
| .expected_file("unknown-mod.stderr") |
| .normalize(r#"\\"#, "/") |
| .run(); |
| } |