tests: enable cargo test --workspace + #[cfg(devcli_testenv)]

TL;DR: Massive quality of life improvement for devs

Cloud Hypervisor uses the Cargo test framework for multiple tests:

- normal unit tests
- unit tests requiring special environment (the Tap device tests)
- integration tests requiring a special environment

This prevented the execution of `cargo test --workspace`, which results
in a very poor developer experience. Although
`./scripts/run_unit_tests.sh` exists, there are valid reasons why devs
cannot or even don't want to use it.

By adding a new `chv_testenv` rustc config, we can conditionally only
activate tests when the `./scripts/` magic runs them. This improves
the general developer experience by a lot.

Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com
This commit is contained in:
Philipp Schuster
2025-11-18 07:20:58 +01:00
committed by Bo Chen
parent e3e9e1c84c
commit c990f1bdaa
11 changed files with 27 additions and 4 deletions
+4
View File
@@ -162,3 +162,7 @@ zerocopy = { version = "0.8.27", default-features = false }
# https://rust-lang.github.io/rust-clippy/master/index.html
assertions_on_result_states = "deny"
undocumented_unsafe_blocks = "deny"
[workspace.lints.rust]
# `level = warn` is irrelevant here but mandatory for rustc/cargo
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(devcli_testenv)'] }