about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jsgf@fb.com>2022-04-15 10:33:08 -0700
committerJeremy Fitzhardinge <jsgf@fb.com>2022-04-27 10:04:25 -0700
commit2373599b82c4723ee738fe0408142d6bfcbb980c (patch)
tree7e5f49ba27c6186bffde0ddd4b2b0290e560b967
parent0981b9857ed9a4c840221b089fc5103373c8595f (diff)
downloadrust-2373599b82c4723ee738fe0408142d6bfcbb980c.tar.gz
rust-2373599b82c4723ee738fe0408142d6bfcbb980c.zip
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.
-rw-r--r--src/test/ui/unused-crate-deps/deny-attr.rs9
-rw-r--r--src/test/ui/unused-crate-deps/deny-attr.stderr14
-rw-r--r--src/test/ui/unused-crate-deps/deny-cmdline-json.rs7
-rw-r--r--src/test/ui/unused-crate-deps/deny-cmdline-json.stderr1
-rw-r--r--src/test/ui/unused-crate-deps/deny-cmdline.rs8
-rw-r--r--src/test/ui/unused-crate-deps/deny-cmdline.stderr10
-rw-r--r--src/test/ui/unused-crate-deps/warn-cmdline-json.rs8
-rw-r--r--src/test/ui/unused-crate-deps/warn-cmdline-json.stderr1
8 files changed, 58 insertions, 0 deletions
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"]}