File: rmake.rs

package info (click to toggle)
rustc 1.89.0%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 906,624 kB
  • sloc: xml: 158,148; python: 34,888; javascript: 19,595; sh: 19,221; ansic: 13,046; cpp: 7,144; asm: 4,376; makefile: 692; lisp: 174; sql: 15
file content (27 lines) | stat: -rw-r--r-- 1,055 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//@ needs-target-std
//
// 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();
}