Skip to content

Commit

Permalink
Make UI test annotations mandatory (#11421)
Browse files Browse the repository at this point in the history
Follow-up of #11249.

changelog: make UI tests annotations mandatory
  • Loading branch information
flip1995 authored Feb 15, 2025
2 parents 379c8f4 + 847bd67 commit a8b1782
Show file tree
Hide file tree
Showing 2,368 changed files with 26,957 additions and 13,615 deletions.
16 changes: 10 additions & 6 deletions tests/compile-test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ impl TestContext {
}
}

fn base_config(&self, test_dir: &str) -> Config {
fn base_config(&self, test_dir: &str, mandatory_annotations: bool) -> Config {
let target_dir = PathBuf::from(var_os("CARGO_TARGET_DIR").unwrap_or_else(|| "target".into()));
let mut config = Config {
output_conflict_handling: OutputConflictHandling::Error,
Expand All @@ -153,7 +153,11 @@ impl TestContext {
};
let defaults = config.comment_defaults.base();
defaults.exit_status = None.into();
defaults.require_annotations = None.into();
if mandatory_annotations {
defaults.require_annotations = Some(Spanned::dummy(true)).into();
} else {
defaults.require_annotations = None.into();
}
defaults.diagnostic_code_prefix = Some(Spanned::dummy("clippy::".into())).into();
defaults.set_custom("rustfix", RustfixMode::Everything);
if let Some(collector) = self.diagnostic_collector.clone() {
Expand Down Expand Up @@ -197,7 +201,7 @@ impl TestContext {
}

fn run_ui(cx: &TestContext) {
let mut config = cx.base_config("ui");
let mut config = cx.base_config("ui", true);
config
.program
.envs
Expand All @@ -216,7 +220,7 @@ fn run_internal_tests(cx: &TestContext) {
if !RUN_INTERNAL_TESTS {
return;
}
let mut config = cx.base_config("ui-internal");
let mut config = cx.base_config("ui-internal", false);
config.bless_command = Some("cargo uitest --features internal -- -- --bless".into());

ui_test::run_tests_generic(
Expand All @@ -229,7 +233,7 @@ fn run_internal_tests(cx: &TestContext) {
}

fn run_ui_toml(cx: &TestContext) {
let mut config = cx.base_config("ui-toml");
let mut config = cx.base_config("ui-toml", true);

config
.comment_defaults
Expand Down Expand Up @@ -259,7 +263,7 @@ fn run_ui_cargo(cx: &TestContext) {
return;
}

let mut config = cx.base_config("ui-cargo");
let mut config = cx.base_config("ui-cargo", false);
config.program.input_file_flag = CommandBuilder::cargo().input_file_flag;
config.program.out_dir_flag = CommandBuilder::cargo().out_dir_flag;
config.program.args = vec!["clippy".into(), "--color".into(), "never".into(), "--quiet".into()];
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
error: consider bringing this path into scope with the `use` keyword
--> tests/ui-toml/absolute_paths/absolute_paths_2015.rs:15:13
--> tests/ui-toml/absolute_paths/absolute_paths_2015.rs:16:13
|
LL | let _ = ::m1::m2::X;
| ^^^^^^^^^^^
|
note: the lint level is defined here
--> tests/ui-toml/absolute_paths/absolute_paths_2015.rs:6:9
--> tests/ui-toml/absolute_paths/absolute_paths_2015.rs:7:9
|
LL | #![deny(clippy::absolute_paths)]
| ^^^^^^^^^^^^^^^^^^^^^^
Expand Down
1 change: 1 addition & 0 deletions tests/ui-toml/absolute_paths/absolute_paths_2015.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//@revisions: default allow_crates
//@[default]rustc-env:CLIPPY_CONF_DIR=tests/ui-toml/absolute_paths/default
//@[allow_crates]rustc-env:CLIPPY_CONF_DIR=tests/ui-toml/absolute_paths/allow_crates
//@[allow_crates]check-pass
//@edition:2015

#![deny(clippy::absolute_paths)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,14 @@ fn main() {
let local_opt: Option<i32> = Some(3);

println!("val='{local_i32}'");
//~^ uninlined_format_args
println!("Hello x is {local_f64:.local_i32$}");
//~^ uninlined_format_args
//~| print_literal
println!("Hello {local_i32} is {local_f64:.*}", 5);
//~^ uninlined_format_args
println!("Hello {local_i32} is {local_f64:.*}", 5);
//~^ uninlined_format_args
println!("{local_i32}, {}", local_opt.unwrap());
//~^ uninlined_format_args
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,14 @@ fn main() {
let local_opt: Option<i32> = Some(3);

println!("val='{}'", local_i32);
//~^ uninlined_format_args
println!("Hello {} is {:.*}", "x", local_i32, local_f64);
//~^ uninlined_format_args
//~| print_literal
println!("Hello {} is {:.*}", local_i32, 5, local_f64);
//~^ uninlined_format_args
println!("Hello {} is {2:.*}", local_i32, 5, local_f64);
//~^ uninlined_format_args
println!("{}, {}", local_i32, local_opt.unwrap());
//~^ uninlined_format_args
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ LL + println!("val='{local_i32}'");
|

error: variables can be used directly in the `format!` string
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:10:5
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:11:5
|
LL | println!("Hello {} is {:.*}", "x", local_i32, local_f64);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -25,7 +25,7 @@ LL + println!("Hello {} is {local_f64:.local_i32$}", "x");
|

error: literal with an empty format string
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:10:35
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:11:35
|
LL | println!("Hello {} is {:.*}", "x", local_i32, local_f64);
| ^^^
Expand All @@ -39,7 +39,7 @@ LL + println!("Hello x is {:.*}", local_i32, local_f64);
|

error: variables can be used directly in the `format!` string
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:11:5
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:14:5
|
LL | println!("Hello {} is {:.*}", local_i32, 5, local_f64);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -51,7 +51,7 @@ LL + println!("Hello {local_i32} is {local_f64:.*}", 5);
|

error: variables can be used directly in the `format!` string
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:12:5
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:16:5
|
LL | println!("Hello {} is {2:.*}", local_i32, 5, local_f64);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -63,7 +63,7 @@ LL + println!("Hello {local_i32} is {local_f64:.*}", 5);
|

error: variables can be used directly in the `format!` string
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:13:5
--> tests/ui-toml/allow_mixed_uninlined_format_args/uninlined_format_args.rs:18:5
|
LL | println!("{}, {}", local_i32, local_opt.unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
5 changes: 5 additions & 0 deletions tests/ui-toml/arbitrary_source_item_ordering/ordering_good.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
//@[bad_conf_1] rustc-env:CLIPPY_CONF_DIR=tests/ui-toml/arbitrary_source_item_ordering/bad_conf_1
//@[bad_conf_2] rustc-env:CLIPPY_CONF_DIR=tests/ui-toml/arbitrary_source_item_ordering/bad_conf_2
//@[bad_conf_3] rustc-env:CLIPPY_CONF_DIR=tests/ui-toml/arbitrary_source_item_ordering/bad_conf_3
//@[default] check-pass
//@[default_exp] check-pass
//@[bad_conf_1] error-in-other-file:
//@[bad_conf_2] error-in-other-file:
//@[bad_conf_3] error-in-other-file:

#![allow(dead_code)]
#![warn(clippy::arbitrary_source_item_ordering)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//@aux-build:../../ui/auxiliary/proc_macros.rs
//@revisions: var_1
//@[var_1] rustc-env:CLIPPY_CONF_DIR=tests/ui-toml/arbitrary_source_item_ordering/var_1
//@check-pass

#![allow(dead_code)]
#![warn(clippy::arbitrary_source_item_ordering)]
Expand Down
Loading

0 comments on commit a8b1782

Please sign in to comment.