blob: 6be3119c0fd1521e68381892bb7ebf3dc9356de8 [file] [log] [blame] [edit]
// 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();
}