add lint against unit tests in doctests
This commit is contained in:
parent
3664d6328d
commit
0ba9bf9f9a
6 changed files with 172 additions and 17 deletions
51
tests/ui/test_attr_in_doctest.rs
Normal file
51
tests/ui/test_attr_in_doctest.rs
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/// This is a test for `#[test]` in doctests
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// #[test]
|
||||
/// fn should_be_linted() {
|
||||
/// assert_eq!(1, 1);
|
||||
/// }
|
||||
/// ```
|
||||
///
|
||||
/// Make sure we catch multiple tests in one example,
|
||||
/// and show that we really parse the attr:
|
||||
///
|
||||
/// ```
|
||||
/// #[test]
|
||||
/// fn should_also_be_linted() {
|
||||
/// #[cfg(test)]
|
||||
/// assert!(true);
|
||||
/// }
|
||||
///
|
||||
/// #[test]
|
||||
/// fn should_be_linted_too() {
|
||||
/// assert_eq!("#[test]", "
|
||||
/// #[test]
|
||||
/// ");
|
||||
/// }
|
||||
/// ```
|
||||
///
|
||||
/// We don't catch examples that aren't run:
|
||||
///
|
||||
/// ```ignore
|
||||
/// #[test]
|
||||
/// fn ignored() { todo!() }
|
||||
/// ```
|
||||
///
|
||||
/// ```no_run
|
||||
/// #[test]
|
||||
/// fn ignored() { todo!() }
|
||||
/// ```
|
||||
///
|
||||
/// ```compile_fail
|
||||
/// #[test]
|
||||
/// fn ignored() { Err(()) }
|
||||
/// ```
|
||||
///
|
||||
/// ```txt
|
||||
/// #[test]
|
||||
/// fn not_even_rust() { panic!("Ouch") }
|
||||
/// ```
|
||||
fn test_attr_in_doctests() {}
|
||||
29
tests/ui/test_attr_in_doctest.stderr
Normal file
29
tests/ui/test_attr_in_doctest.stderr
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
error: unit tests in doctest are not executed
|
||||
--> $DIR/test_attr_in_doctest.rs:6:5
|
||||
|
|
||||
LL | /// #[test]
|
||||
| _____^
|
||||
LL | | /// fn should_be_linted() {
|
||||
| |_______________________^
|
||||
|
|
||||
= note: `-D clippy::test-attr-in-doctest` implied by `-D warnings`
|
||||
= help: to override `-D warnings` add `#[allow(clippy::test_attr_in_doctest)]`
|
||||
|
||||
error: unit tests in doctest are not executed
|
||||
--> $DIR/test_attr_in_doctest.rs:16:5
|
||||
|
|
||||
LL | /// #[test]
|
||||
| _____^
|
||||
LL | | /// fn should_also_be_linted() {
|
||||
| |____________________________^
|
||||
|
||||
error: unit tests in doctest are not executed
|
||||
--> $DIR/test_attr_in_doctest.rs:22:5
|
||||
|
|
||||
LL | /// #[test]
|
||||
| _____^
|
||||
LL | | /// fn should_be_linted_too() {
|
||||
| |___________________________^
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue