From 2373599b82c4723ee738fe0408142d6bfcbb980c Mon Sep 17 00:00:00 2001 From: Jeremy Fitzhardinge Date: Fri, 15 Apr 2022 10:33:08 -0700 Subject: [PATCH] Add tests for --json unused-externs There were none at all. These test for original functionality, but this also adds a test that `-Dunused-crate-dependencies` causes a compilation failure, which currently fails (https://github.com/rust-lang/rust/issues/96068). This is fixed in subsequent changes. --- src/test/ui/unused-crate-deps/deny-attr.rs | 9 +++++++++ src/test/ui/unused-crate-deps/deny-attr.stderr | 14 ++++++++++++++ src/test/ui/unused-crate-deps/deny-cmdline-json.rs | 7 +++++++ .../ui/unused-crate-deps/deny-cmdline-json.stderr | 1 + src/test/ui/unused-crate-deps/deny-cmdline.rs | 8 ++++++++ src/test/ui/unused-crate-deps/deny-cmdline.stderr | 10 ++++++++++ src/test/ui/unused-crate-deps/warn-cmdline-json.rs | 8 ++++++++ .../ui/unused-crate-deps/warn-cmdline-json.stderr | 1 + 8 files changed, 58 insertions(+) create mode 100644 src/test/ui/unused-crate-deps/deny-attr.rs create mode 100644 src/test/ui/unused-crate-deps/deny-attr.stderr create mode 100644 src/test/ui/unused-crate-deps/deny-cmdline-json.rs create mode 100644 src/test/ui/unused-crate-deps/deny-cmdline-json.stderr create mode 100644 src/test/ui/unused-crate-deps/deny-cmdline.rs create mode 100644 src/test/ui/unused-crate-deps/deny-cmdline.stderr create mode 100644 src/test/ui/unused-crate-deps/warn-cmdline-json.rs create mode 100644 src/test/ui/unused-crate-deps/warn-cmdline-json.stderr diff --git a/src/test/ui/unused-crate-deps/deny-attr.rs b/src/test/ui/unused-crate-deps/deny-attr.rs new file mode 100644 index 00000000000..e9ab18ff63f --- /dev/null +++ b/src/test/ui/unused-crate-deps/deny-attr.rs @@ -0,0 +1,9 @@ +// Check for unused crate dep, no path + +// edition:2018 +// aux-crate:bar=bar.rs + +#![deny(unused_crate_dependencies)] +//~^ ERROR external crate `bar` unused in + +fn main() {} diff --git a/src/test/ui/unused-crate-deps/deny-attr.stderr b/src/test/ui/unused-crate-deps/deny-attr.stderr new file mode 100644 index 00000000000..93694f6827f --- /dev/null +++ b/src/test/ui/unused-crate-deps/deny-attr.stderr @@ -0,0 +1,14 @@ +error: external crate `bar` unused in `deny_attr`: remove the dependency or add `use bar as _;` + --> $DIR/deny-attr.rs:6:1 + | +LL | #![deny(unused_crate_dependencies)] + | ^ + | +note: the lint level is defined here + --> $DIR/deny-attr.rs:6:9 + | +LL | #![deny(unused_crate_dependencies)] + | ^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to previous error + diff --git a/src/test/ui/unused-crate-deps/deny-cmdline-json.rs b/src/test/ui/unused-crate-deps/deny-cmdline-json.rs new file mode 100644 index 00000000000..9a95780bd08 --- /dev/null +++ b/src/test/ui/unused-crate-deps/deny-cmdline-json.rs @@ -0,0 +1,7 @@ +// Check for unused crate dep, no path + +// edition:2018 +// compile-flags: -Dunused-crate-dependencies -Zunstable-options --json unused-externs --error-format=json +// aux-crate:bar=bar.rs + +fn main() {} diff --git a/src/test/ui/unused-crate-deps/deny-cmdline-json.stderr b/src/test/ui/unused-crate-deps/deny-cmdline-json.stderr new file mode 100644 index 00000000000..595619f3a8a --- /dev/null +++ b/src/test/ui/unused-crate-deps/deny-cmdline-json.stderr @@ -0,0 +1 @@ +{"lint_level":"deny","unused_extern_names":["bar"]} diff --git a/src/test/ui/unused-crate-deps/deny-cmdline.rs b/src/test/ui/unused-crate-deps/deny-cmdline.rs new file mode 100644 index 00000000000..17c6e1bf193 --- /dev/null +++ b/src/test/ui/unused-crate-deps/deny-cmdline.rs @@ -0,0 +1,8 @@ +// Check for unused crate dep, no path + +// edition:2018 +// compile-flags: -Dunused-crate-dependencies +// aux-crate:bar=bar.rs + +fn main() {} +//~^ ERROR external crate `bar` unused in diff --git a/src/test/ui/unused-crate-deps/deny-cmdline.stderr b/src/test/ui/unused-crate-deps/deny-cmdline.stderr new file mode 100644 index 00000000000..0951dc670fe --- /dev/null +++ b/src/test/ui/unused-crate-deps/deny-cmdline.stderr @@ -0,0 +1,10 @@ +error: external crate `bar` unused in `deny_cmdline`: remove the dependency or add `use bar as _;` + --> $DIR/deny-cmdline.rs:7:1 + | +LL | fn main() {} + | ^ + | + = note: requested on the command line with `-D unused-crate-dependencies` + +error: aborting due to previous error + diff --git a/src/test/ui/unused-crate-deps/warn-cmdline-json.rs b/src/test/ui/unused-crate-deps/warn-cmdline-json.rs new file mode 100644 index 00000000000..a845fe6fd24 --- /dev/null +++ b/src/test/ui/unused-crate-deps/warn-cmdline-json.rs @@ -0,0 +1,8 @@ +// Check for unused crate dep, no path + +// edition:2018 +// check-pass +// compile-flags: -Wunused-crate-dependencies -Zunstable-options --json unused-externs --error-format=json +// aux-crate:bar=bar.rs + +fn main() {} diff --git a/src/test/ui/unused-crate-deps/warn-cmdline-json.stderr b/src/test/ui/unused-crate-deps/warn-cmdline-json.stderr new file mode 100644 index 00000000000..98dbd763927 --- /dev/null +++ b/src/test/ui/unused-crate-deps/warn-cmdline-json.stderr @@ -0,0 +1 @@ +{"lint_level":"warn","unused_extern_names":["bar"]}