about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-03-07 07:05:35 +0000
committerbors <bors@rust-lang.org>2019-03-07 07:05:35 +0000
commit0d8937299e6a08c499c24aa898f6cf5ce3f8645c (patch)
tree3af704a45b24efc5e08fc373923ef152b5ed35a5
parent00baf7a1118f4b8332a47f68e8bebbac963a5dcb (diff)
parent7b948232ba779601e57d54c4edf1c7e15babadd6 (diff)
downloadrust-0d8937299e6a08c499c24aa898f6cf5ce3f8645c.tar.gz
rust-0d8937299e6a08c499c24aa898f6cf5ce3f8645c.zip
Auto merge of #3850 - mikerite:rustfmt-tests, r=phansch
More test improvements
-rwxr-xr-xci/base-tests.sh2
-rw-r--r--tests/ui/doc.rs2
-rw-r--r--tests/ui/doc.stderr60
-rw-r--r--tests/ui/unused_unit.fixed44
-rw-r--r--tests/ui/unused_unit.rs9
-rw-r--r--tests/ui/unused_unit.stderr16
6 files changed, 92 insertions, 41 deletions
diff --git a/ci/base-tests.sh b/ci/base-tests.sh
index d2b959a2d9d..ec860de9358 100755
--- a/ci/base-tests.sh
+++ b/ci/base-tests.sh
@@ -59,7 +59,7 @@ rustup override set nightly
 # avoid loop spam and allow cmds with exit status != 0
 set +ex
 
-for file in `find tests -not -path "tests/ui/doc.rs" -not -path "tests/ui/unused_unit.rs" | grep "\.rs$"` ; do
+for file in `find tests | grep "\.rs$"` ; do
   rustfmt ${file} --check
   if [ $? -ne 0 ]; then
     echo "${file} needs reformatting!"
diff --git a/tests/ui/doc.rs b/tests/ui/doc.rs
index 915fb3aae89..be0989347fa 100644
--- a/tests/ui/doc.rs
+++ b/tests/ui/doc.rs
@@ -2,6 +2,8 @@
 
 #![allow(dead_code)]
 #![warn(clippy::doc_markdown)]
+#![feature(custom_inner_attributes)]
+#![rustfmt::skip]
 
 /// The foo_bar function does _nothing_. See also foo::bar. (note the dot there)
 /// Markdown is _weird_. I mean _really weird_.  This \_ is ok. So is `_`. But not Foo::some_fun
diff --git a/tests/ui/doc.stderr b/tests/ui/doc.stderr
index 4a2ef448e84..ca1cac59dad 100644
--- a/tests/ui/doc.stderr
+++ b/tests/ui/doc.stderr
@@ -7,181 +7,181 @@ LL | //! This file tests for the DOC_MARKDOWN lint
    = note: `-D clippy::doc-markdown` implied by `-D warnings`
 
 error: you should put `foo_bar` between ticks in the documentation
-  --> $DIR/doc.rs:6:9
+  --> $DIR/doc.rs:8:9
    |
 LL | /// The foo_bar function does _nothing_. See also foo::bar. (note the dot there)
    |         ^^^^^^^
 
 error: you should put `foo::bar` between ticks in the documentation
-  --> $DIR/doc.rs:6:51
+  --> $DIR/doc.rs:8:51
    |
 LL | /// The foo_bar function does _nothing_. See also foo::bar. (note the dot there)
    |                                                   ^^^^^^^^
 
 error: you should put `Foo::some_fun` between ticks in the documentation
-  --> $DIR/doc.rs:7:84
+  --> $DIR/doc.rs:9:84
    |
 LL | /// Markdown is _weird_. I mean _really weird_.  This /_ is ok. So is `_`. But not Foo::some_fun
    |                                                                                    ^^^^^^^^^^^^^
 
 error: you should put `a::global:path` between ticks in the documentation
-  --> $DIR/doc.rs:9:15
+  --> $DIR/doc.rs:11:15
    |
 LL | /// Here be ::a::global:path.
    |               ^^^^^^^^^^^^^^
 
 error: you should put `NotInCodeBlock` between ticks in the documentation
-  --> $DIR/doc.rs:10:22
+  --> $DIR/doc.rs:12:22
    |
 LL | /// That's not code ~NotInCodeBlock~.
    |                      ^^^^^^^^^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:11:5
+  --> $DIR/doc.rs:13:5
    |
 LL | /// be_sure_we_got_to_the_end_of_it
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:25:5
+  --> $DIR/doc.rs:27:5
    |
 LL | /// be_sure_we_got_to_the_end_of_it
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:32:5
+  --> $DIR/doc.rs:34:5
    |
 LL | /// be_sure_we_got_to_the_end_of_it
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:46:5
+  --> $DIR/doc.rs:48:5
    |
 LL | /// be_sure_we_got_to_the_end_of_it
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `link_with_underscores` between ticks in the documentation
-  --> $DIR/doc.rs:50:22
+  --> $DIR/doc.rs:52:22
    |
 LL | /// This test has [a link_with_underscores][chunked-example] inside it. See #823.
    |                      ^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `inline_link2` between ticks in the documentation
-  --> $DIR/doc.rs:53:21
+  --> $DIR/doc.rs:55:21
    |
 LL | /// It can also be [inline_link2].
    |                     ^^^^^^^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:63:5
+  --> $DIR/doc.rs:65:5
    |
 LL | /// be_sure_we_got_to_the_end_of_it
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `CamelCaseThing` between ticks in the documentation
-  --> $DIR/doc.rs:71:8
+  --> $DIR/doc.rs:73:8
    |
 LL | /// ## CamelCaseThing
    |        ^^^^^^^^^^^^^^
 
 error: you should put `CamelCaseThing` between ticks in the documentation
-  --> $DIR/doc.rs:74:7
+  --> $DIR/doc.rs:76:7
    |
 LL | /// # CamelCaseThing
    |       ^^^^^^^^^^^^^^
 
 error: you should put `CamelCaseThing` between ticks in the documentation
-  --> $DIR/doc.rs:76:22
+  --> $DIR/doc.rs:78:22
    |
 LL | /// Not a title #897 CamelCaseThing
    |                      ^^^^^^^^^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:77:5
+  --> $DIR/doc.rs:79:5
    |
 LL | /// be_sure_we_got_to_the_end_of_it
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:84:5
+  --> $DIR/doc.rs:86:5
    |
 LL | /// be_sure_we_got_to_the_end_of_it
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:97:5
+  --> $DIR/doc.rs:99:5
    |
 LL | /// be_sure_we_got_to_the_end_of_it
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `FooBar` between ticks in the documentation
-  --> $DIR/doc.rs:108:42
+  --> $DIR/doc.rs:110:42
    |
 LL | /** E.g. serialization of an empty list: FooBar
    |                                          ^^^^^^
 
 error: you should put `BarQuz` between ticks in the documentation
-  --> $DIR/doc.rs:113:5
+  --> $DIR/doc.rs:115:5
    |
 LL | And BarQuz too.
    |     ^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:114:1
+  --> $DIR/doc.rs:116:1
    |
 LL | be_sure_we_got_to_the_end_of_it
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `FooBar` between ticks in the documentation
-  --> $DIR/doc.rs:119:42
+  --> $DIR/doc.rs:121:42
    |
 LL | /** E.g. serialization of an empty list: FooBar
    |                                          ^^^^^^
 
 error: you should put `BarQuz` between ticks in the documentation
-  --> $DIR/doc.rs:124:5
+  --> $DIR/doc.rs:126:5
    |
 LL | And BarQuz too.
    |     ^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:125:1
+  --> $DIR/doc.rs:127:1
    |
 LL | be_sure_we_got_to_the_end_of_it
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `be_sure_we_got_to_the_end_of_it` between ticks in the documentation
-  --> $DIR/doc.rs:136:5
+  --> $DIR/doc.rs:138:5
    |
 LL | /// be_sure_we_got_to_the_end_of_it
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put bare URLs between `<`/`>` or make a proper Markdown link
-  --> $DIR/doc.rs:163:13
+  --> $DIR/doc.rs:165:13
    |
 LL | /// Not ok: http://www.unicode.org
    |             ^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put bare URLs between `<`/`>` or make a proper Markdown link
-  --> $DIR/doc.rs:164:13
+  --> $DIR/doc.rs:166:13
    |
 LL | /// Not ok: https://www.unicode.org
    |             ^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put bare URLs between `<`/`>` or make a proper Markdown link
-  --> $DIR/doc.rs:165:13
+  --> $DIR/doc.rs:167:13
    |
 LL | /// Not ok: http://www.unicode.org/
    |             ^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put bare URLs between `<`/`>` or make a proper Markdown link
-  --> $DIR/doc.rs:166:13
+  --> $DIR/doc.rs:168:13
    |
 LL | /// Not ok: http://www.unicode.org/reports/tr9/#Reordering_Resolved_Levels
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: you should put `mycrate::Collection` between ticks in the documentation
-  --> $DIR/doc.rs:172:22
+  --> $DIR/doc.rs:174:22
    |
 LL | /// An iterator over mycrate::Collection's values.
    |                      ^^^^^^^^^^^^^^^^^^^
diff --git a/tests/ui/unused_unit.fixed b/tests/ui/unused_unit.fixed
new file mode 100644
index 00000000000..64124589683
--- /dev/null
+++ b/tests/ui/unused_unit.fixed
@@ -0,0 +1,44 @@
+// run-rustfix
+
+// The output for humans should just highlight the whole span without showing
+// the suggested replacement, but we also want to test that suggested
+// replacement only removes one set of parentheses, rather than naïvely
+// stripping away any starting or ending parenthesis characters—hence this
+// test of the JSON error format.
+
+#![feature(custom_inner_attributes)]
+#![rustfmt::skip]
+
+#![deny(clippy::unused_unit)]
+
+struct Unitter;
+impl Unitter {
+    // try to disorient the lint with multiple unit returns and newlines
+    #[allow(clippy::no_effect)]
+    pub fn get_unit<F: Fn() -> (), G>(&self, f: F, _g: G) 
+    where G: Fn() -> () {
+        let _y: &Fn() -> () = &f;
+        (); // this should not lint, as it's not in return type position
+    }
+}
+
+impl Into<()> for Unitter {
+    #[rustfmt::skip]
+    fn into(self)  {
+        
+    }
+}
+
+fn return_unit()  {  }
+
+#[allow(clippy::needless_return)]
+#[allow(clippy::never_loop)]
+fn main() {
+    let u = Unitter;
+    assert_eq!(u.get_unit(|| {}, return_unit), u.into());
+    return_unit();
+    loop {
+        break;
+    }
+    return;
+}
diff --git a/tests/ui/unused_unit.rs b/tests/ui/unused_unit.rs
index 8d56d2051e2..8e31385b70c 100644
--- a/tests/ui/unused_unit.rs
+++ b/tests/ui/unused_unit.rs
@@ -1,4 +1,4 @@
-// compile-pass
+// run-rustfix
 
 // The output for humans should just highlight the whole span without showing
 // the suggested replacement, but we also want to test that suggested
@@ -6,12 +6,15 @@
 // stripping away any starting or ending parenthesis characters—hence this
 // test of the JSON error format.
 
+#![feature(custom_inner_attributes)]
+#![rustfmt::skip]
+
 #![deny(clippy::unused_unit)]
-#![allow(clippy::needless_return)]
 
 struct Unitter;
 impl Unitter {
     // try to disorient the lint with multiple unit returns and newlines
+    #[allow(clippy::no_effect)]
     pub fn get_unit<F: Fn() -> (), G>(&self, f: F, _g: G) ->
         ()
     where G: Fn() -> () {
@@ -29,6 +32,8 @@ impl Into<()> for Unitter {
 
 fn return_unit() -> () { () }
 
+#[allow(clippy::needless_return)]
+#[allow(clippy::never_loop)]
 fn main() {
     let u = Unitter;
     assert_eq!(u.get_unit(|| {}, return_unit), u.into());
diff --git a/tests/ui/unused_unit.stderr b/tests/ui/unused_unit.stderr
index c4cb643cb71..c33a220b98c 100644
--- a/tests/ui/unused_unit.stderr
+++ b/tests/ui/unused_unit.stderr
@@ -1,5 +1,5 @@
 error: unneeded unit return type
-  --> $DIR/unused_unit.rs:15:59
+  --> $DIR/unused_unit.rs:18:59
    |
 LL |       pub fn get_unit<F: Fn() -> (), G>(&self, f: F, _g: G) ->
    |  ___________________________________________________________^
@@ -7,43 +7,43 @@ LL | |         ()
    | |__________^ help: remove the `-> ()`
    |
 note: lint level defined here
-  --> $DIR/unused_unit.rs:9:9
+  --> $DIR/unused_unit.rs:12:9
    |
 LL | #![deny(clippy::unused_unit)]
    |         ^^^^^^^^^^^^^^^^^^^
 
 error: unneeded unit return type
-  --> $DIR/unused_unit.rs:25:19
+  --> $DIR/unused_unit.rs:28:19
    |
 LL |     fn into(self) -> () {
    |                   ^^^^^ help: remove the `-> ()`
 
 error: unneeded unit expression
-  --> $DIR/unused_unit.rs:26:9
+  --> $DIR/unused_unit.rs:29:9
    |
 LL |         ()
    |         ^^ help: remove the final `()`
 
 error: unneeded unit return type
-  --> $DIR/unused_unit.rs:30:18
+  --> $DIR/unused_unit.rs:33:18
    |
 LL | fn return_unit() -> () { () }
    |                  ^^^^^ help: remove the `-> ()`
 
 error: unneeded unit expression
-  --> $DIR/unused_unit.rs:30:26
+  --> $DIR/unused_unit.rs:33:26
    |
 LL | fn return_unit() -> () { () }
    |                          ^^ help: remove the final `()`
 
 error: unneeded `()`
-  --> $DIR/unused_unit.rs:37:14
+  --> $DIR/unused_unit.rs:42:14
    |
 LL |         break();
    |              ^^ help: remove the `()`
 
 error: unneeded `()`
-  --> $DIR/unused_unit.rs:39:11
+  --> $DIR/unused_unit.rs:44:11
    |
 LL |     return();
    |           ^^ help: remove the `()`