// The way test suites run can be modified using configuration flags, // ignoring certain tests while running others. This test contains two // functions, one which must run and the other which must not. The standard // output is checked to verify that the ignore configuration is doing its job, // and that output is successfully minimized with the --quiet flag. // See https://github.com/rust-lang/rust/commit/f7ebe23ae185991b0fee05b32fbb3e29b89a41bf //@ ignore-cross-compile // Reason: the compiled binary is executed use run_make_support::{run, run_with_args, rustc}; fn main() { rustc().arg("--test").input("test-ignore-cfg.rs").cfg("ignorecfg").run(); // check that #[cfg_attr(..., ignore)] does the right thing. run("test-ignore-cfg") .assert_stdout_contains("shouldnotignore ... ok") .assert_stdout_contains("shouldignore ... ignored"); assert_eq!( // One of the lines is exactly "i." run_with_args("test-ignore-cfg", &["--quiet"]).stdout_utf8().lines().find(|&x| x == "i."), Some("i.") ); run_with_args("test-ignore-cfg", &["--quiet"]).assert_stdout_not_contains("should"); }