std_detect testing improvements

* Fix riscv testing. Previously the mod tests; would be looking for
  src/detect/os/tests.rs.
* Replace a test with an unnamed const item. It is testing that no
  warnings are emitted. It doesn't contain any checks that need to run
  at runtime. Replacing the test allows removing the tidy:skip directive
  for test locations.
This commit is contained in:
bjorn3
2025-07-24 13:01:08 +00:00
parent c5d7021cdd
commit b481c5b8ba
3 changed files with 4 additions and 5 deletions

View File

@@ -131,14 +131,13 @@ macro_rules! features {
};
}
#[test] //tidy:skip
#[deny(unexpected_cfgs)]
#[deny(unfulfilled_lint_expectations)]
fn unexpected_cfgs() {
const _: () = {
$(
check_cfg_feature!($feature, $feature_lit $(, without cfg check: $feature_cfg_check)? $(: $($target_feature_lit),*)?);
)*
}
};
/// Each variant denotes a position in a bitset for a particular feature.
///

View File

@@ -135,4 +135,5 @@ pub(crate) fn imply_features(mut value: cache::Initializer) -> cache::Initialize
}
#[cfg(test)]
#[path = "riscv/tests.rs"]
mod tests;

View File

@@ -79,8 +79,7 @@ pub fn check(root_path: &Path, stdlib: bool, bad: &mut bool) {
let line = line.trim();
let is_test = || line.contains("#[test]") && !line.contains("`#[test]");
let is_bench = || line.contains("#[bench]") && !line.contains("`#[bench]");
let manual_skip = line.contains("//tidy:skip");
if !line.starts_with("//") && (is_test() || is_bench()) && !manual_skip {
if !line.starts_with("//") && (is_test() || is_bench()) {
let explanation = if stdlib {
format!(
"`{package}` unit tests and benchmarks must be placed into `{package}tests`"