Skip to content

Commit

Permalink
Include manifest-path when checking if packages are in the workspace (#…
Browse files Browse the repository at this point in the history
…3819)

With this PR, we include `--manifest-path` in `to_package_ids` function
as part of the command.

Resolves #3816

By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 and MIT licenses.

---------

Co-authored-by: Zyad Hassan <[email protected]>
  • Loading branch information
qinheping and zhassan-aws authored Jan 10, 2025
1 parent 4ab4bca commit ce67fdf
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 0 deletions.
4 changes: 4 additions & 0 deletions kani-driver/src/call_cargo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,10 @@ crate-type = ["lib"]
.map(|pkg| {
let mut cmd = setup_cargo_command()?;
cmd.arg("pkgid");
if let Some(path) = &self.args.cargo.manifest_path {
cmd.arg("--manifest-path");
cmd.arg(path);
}
cmd.arg(pkg);
// For some reason clippy cannot see that we are invoking wait() in the next line.
#[allow(clippy::zombie_processes)]
Expand Down
9 changes: 9 additions & 0 deletions tests/script-based-pre/cargo_manifest_test/add/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright Kani Contributors
# SPDX-License-Identifier: Apache-2.0 OR MIT

[package]
name = "add"
version = "0.1.0"
edition = "2021"

[dependencies]
7 changes: 7 additions & 0 deletions tests/script-based-pre/cargo_manifest_test/add/src/main.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Copyright Kani Contributors
// SPDX-License-Identifier: Apache-2.0 OR MIT

#[kani::proof]
fn main() {
1 + 1;
}
4 changes: 4 additions & 0 deletions tests/script-based-pre/cargo_manifest_test/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright Kani Contributors
# SPDX-License-Identifier: Apache-2.0 OR MIT
script: manifest_test.sh
expected: manifest_test.expected
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Complete - 1 successfully verified harnesses, 0 failures, 1 total.
8 changes: 8 additions & 0 deletions tests/script-based-pre/cargo_manifest_test/manifest_test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright Kani Contributors
# SPDX-License-Identifier: Apache-2.0 OR MIT

# Test if Kani can correctly check if package in the workspace when
# manifest-path present.

cargo kani --manifest-path=add/Cargo.toml --package add --debug

0 comments on commit ce67fdf

Please sign in to comment.