Skip to content

Commit

Permalink
test: create cfg_not_test ui tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mrnossiom committed Jun 12, 2024
1 parent abc2a1d commit ad4eb0f
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 0 deletions.
32 changes: 32 additions & 0 deletions tests/ui/cfg_not_test.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#![allow(unused)]
#![warn(clippy::cfg_not_test)]

fn important_check() {}

fn main() {
// Statement
#[cfg(not(test))]
let answer = 42;

// Expression
#[cfg(not(test))]
important_check();

// Make sure only not(test) are checked, not other attributes
#[cfg(not(foo))]
important_check();
}

#[cfg(not(not(test)))]
struct CfgNotTest;

// Deeply nested `not(test)`
#[cfg(not(test))]
fn foo() {}
#[cfg(all(debug_assertions, not(test)))]
fn bar() {}
#[cfg(not(any(not(debug_assertions), test)))]
fn baz() {}

#[cfg(test)]
mod tests {}
45 changes: 45 additions & 0 deletions tests/ui/cfg_not_test.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
error: code is excluded from test builds
--> tests/ui/cfg_not_test.rs:8:5
|
LL | #[cfg(not(test))]
| ^^^^^^^^^^^^^^^^^
|
= help: consider not excluding any code from test builds
= note: this could increase code coverage despite not actually being tested
= note: `-D clippy::cfg-not-test` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::cfg_not_test)]`

error: code is excluded from test builds
--> tests/ui/cfg_not_test.rs:12:5
|
LL | #[cfg(not(test))]
| ^^^^^^^^^^^^^^^^^
|
= help: consider not excluding any code from test builds

error: code is excluded from test builds
--> tests/ui/cfg_not_test.rs:24:1
|
LL | #[cfg(not(test))]
| ^^^^^^^^^^^^^^^^^
|
= help: consider not excluding any code from test builds

error: code is excluded from test builds
--> tests/ui/cfg_not_test.rs:26:1
|
LL | #[cfg(all(debug_assertions, not(test)))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: consider not excluding any code from test builds

error: code is excluded from test builds
--> tests/ui/cfg_not_test.rs:28:1
|
LL | #[cfg(not(any(not(debug_assertions), test)))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: consider not excluding any code from test builds

error: aborting due to 5 previous errors

0 comments on commit ad4eb0f

Please sign in to comment.