-
Notifications
You must be signed in to change notification settings - Fork 277
New flag for only processing loop contracts #6184
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
Conversation
73a33a3
to
5f2f7e9
Compare
Codecov Report
@@ Coverage Diff @@
## develop #6184 +/- ##
===========================================
+ Coverage 67.40% 75.14% +7.73%
===========================================
Files 1157 1456 +299
Lines 95236 161132 +65896
===========================================
+ Hits 64197 121081 +56884
- Misses 31039 40051 +9012
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
@@ -1,6 +1,6 @@ | |||
CORE | |||
CORE smt-backend |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can it work with both back-ends or it was spuriously passing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test works correctly either way, we explicitly provide --z3
in the next line.
I added the tag because on systems that don't have z3
installed and that only run SAT-specific tests, this test should be ignored. Also see #6181.
Currently test tags are not respected within regression/contract
. I have reported this already @ #5986 (comment). When that's fixed, this test would be automatically ignored in SAT-only mode.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approve although it might be good if you could think about the comments.
Added `--apply-loop-contracts` to check and use loop contracts (invariants and variants) independent of function contracts.
5f2f7e9
to
9cdca48
Compare
Created a new flag,
--apply-loop-contracts
, to be able to separately process loop and function contracts.The
--enforce-contract foo
flag would only enforce function contracts onfoo
now. The previous behavior of enforcing both function and loop contracts can be achieved by--apply-loop-contracts --enforce-contract foo
.Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.My commit message includes data points confirming performance improvements (if claimed).White-space or formatting changes outside the feature-related changed lines are in commits of their own.