`-p package_name` not working as it tests all packages
gitmalong opened this issue · 2 comments
gitmalong commented
Hi!
I tried the following commands to make tarpaulin only test a certain package of my workspace.
cargo tarpaulin --skip-clean -p myapp-import --workspace
cargo tarpaulin --skip-clean -p myapp-import
cd import && cargo tarpaulin --skip-clean -p myapp-import --exclude-files ../*
Output:
user@Air-von-user myapp % cargo tarpaulin --skip-clean -p myapp-import --workspace
Jan 07 13:46:07.314 INFO cargo_tarpaulin::config: Creating config
Jan 07 13:46:07.803 INFO cargo_tarpaulin: Running Tarpaulin
Jan 07 13:46:07.803 INFO cargo_tarpaulin: Building project
warning: /Users/user/Documents/Code/myapp/calc/Cargo.toml: unused manifest key: dependencies.serde_json.ref
Finished test [unoptimized + debuginfo] target(s) in 0.31s
Jan 07 13:46:14.258 INFO cargo_tarpaulin::process_handling: running /Users/user/Documents/Code/myapp/target/debug/deps/myapp_calc-020fc14a34535aa8
Jan 07 13:46:14.258 INFO cargo_tarpaulin::process_handling: Setting LLVM_PROFILE_FILE
running 21 tests
test calc::test_parse_dec ... ok
...
Workspace Cargo.toml
[workspace]
members = [
"calc",
"storage",
"import",
"wasm_app"
]
exclude = ["wasm_app"]
resolver = "2"
import/Cargo.toml
[package]
name = "myapp-import"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
Versions:
cargo-tarpaulin-tarpaulin 0.27.2
macOS 14.2.1 (23C71)
tommy-gilligan commented
i think maybe try
cargo tarpaulin --skip-clean -- -p myapp-import
xd009642 commented
So I've tested out cargo tarpaulin --skip-clean -p myapp-import
with a project with your configuration and it works fine. Maybe check for something like a tarpaulin.config
that may interfere or rerun and report back if it's still an issue.
--workspace
will always cause all tests in a workspace to be ran so you don't want that! Also, if your workspace crate uses other crates in the workspace as dependencies you may see them pop up in results but it still shouldn't run their tests.
cargo tarpaulin --skip-clean -p myapp-import
Apr 27 12:02:05.639 INFO cargo_tarpaulin::config: Creating config
Apr 27 12:02:05.656 INFO cargo_tarpaulin: Running Tarpaulin
Apr 27 12:02:05.657 INFO cargo_tarpaulin: Building project
Finished test [unoptimized + debuginfo] target(s) in 0.00s
Apr 27 12:02:05.714 INFO cargo_tarpaulin::process_handling::linux: Launching test
Apr 27 12:02:05.715 INFO cargo_tarpaulin::process_handling: running /home/daniel/personal/meta/dummy/target/debug/deps/myapp_import-50e306123074ea22
running 1 test
test tests::it_works ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
Apr 27 12:02:06.401 INFO cargo_tarpaulin::report: Coverage Results:
|| Uncovered Lines:
|| Tested/Total Lines:
|| import/src/lib.rs: 2/2 +0.00%
||
100.00% coverage, 2/2 lines covered, +0.00% change in coverage