2024-06-19 09:45:45 -05:00
|
|
|
// 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() {
|
2024-09-04 19:02:32 -05:00
|
|
|
let out = rustc().crate_type("rlib").stdin_buf(b"mod unknown;").arg("-").run_fail();
|
2024-06-19 09:45:45 -05:00
|
|
|
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();
|
|
|
|
}
|