Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add target selection for cargo kani #2507

Merged
merged 3 commits into from
Jun 7, 2023

Conversation

celinval
Copy link
Contributor

@celinval celinval commented Jun 5, 2023

Description of changes:

Add the following options to restrict cargo kani verification target:

  • --bin <BIN_TARGET>
  • --bins
  • --lib.

I found this very helpful for example to skip integration tests when running cargo kani with --tests.

Resolved issues:

N/A

Related RFC:

Optional #ISSUE-NUMBER.

Call-outs:

  1. Given the driver architecture, I explicitly added a check to ensure standalone Kani does not accept the new arguments.
  2. These options were already added to cargo kani playback in Allow users to select the test targets #2491.

Testing:

  • How is this change tested? New tests

  • Is this a refactor change? No

Checklist

  • Each commit message has a non-empty body, explaining why the change was made
  • Methods or procedures are documented
  • Regression or unit tests are included, or existing tests cover the modified code
  • My PR is restricted to a single feature or bugfix

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

Given the driver architecture, I explicitly added a check to ensure
standalone Kani does not accept the new arguments.
@celinval celinval requested a review from a team as a code owner June 5, 2023 22:21
@zhassan-aws
Copy link
Contributor

In this change, we add those options to the overall verification workflow.

Can you clarify a bit the purpose of this change? Is it a cleanup PR or is it adding a new feature?

@celinval
Copy link
Contributor Author

celinval commented Jun 6, 2023

In this change, we add those options to the overall verification workflow.

Can you clarify a bit the purpose of this change? Is it a cleanup PR or is it adding a new feature?

Sure. We are adding a new feature, and I believe the title "Add target selection" reflects that, but I can definitely expand the description.

Copy link
Contributor

@zhassan-aws zhassan-aws left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! The tests are pretty neat.

kani-driver/src/args/cargo.rs Outdated Show resolved Hide resolved
kani-driver/src/args/mod.rs Outdated Show resolved Hide resolved
@celinval celinval enabled auto-merge (squash) June 7, 2023 18:59
@celinval celinval merged commit 7378419 into model-checking:main Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants