about summary refs log tree commit diff
path: root/tests/run-make/print-request-help-stable-unstable/rmake.rs
blob: a59963da5c497d79a16738418fa0af8b8e6147be (plain)
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
28
29
30
31
32
33
//! Check that unstable print requests are omitted from help if compiler is in stable channel.
//!
//! Issue: <https://github.com/rust-lang/rust/issues/138698>
use run_make_support::{diff, rustc, similar};

fn main() {
    let stable_invalid_print_request_help = rustc()
        .env("RUSTC_BOOTSTRAP", "-1")
        .cfg("force_stable")
        .print("xxx")
        .run_fail()
        .stderr_utf8();
    assert!(!stable_invalid_print_request_help.contains("all-target-specs-json"));
    diff()
        .expected_file("stable-invalid-print-request-help.err")
        .actual_text("stable_invalid_print_request_help", &stable_invalid_print_request_help)
        .run();

    let unstable_invalid_print_request_help = rustc().print("xxx").run_fail().stderr_utf8();
    assert!(unstable_invalid_print_request_help.contains("all-target-specs-json"));
    diff()
        .expected_file("unstable-invalid-print-request-help.err")
        .actual_text("unstable_invalid_print_request_help", &unstable_invalid_print_request_help)
        .run();

    let help_diff = similar::TextDiff::from_lines(
        &stable_invalid_print_request_help,
        &unstable_invalid_print_request_help,
    )
    .unified_diff()
    .to_string();
    diff().expected_file("help-diff.diff").actual_text("help_diff", help_diff).run();
}