Skip to content

Enable new SMT backend test suite to be run against cvc5 locally and on CI #6777

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

Merged
merged 3 commits into from
Apr 5, 2022

Conversation

NlightNFotis
Copy link
Contributor

This is the evolution of #6745, given that the bug we were working around has now been fixed by CVC5 developers (here -> cvc5/cvc5#8489).

This allows for a cleaner changeset here, where in we only make changes to tests
and test configuration files to allow to run with multiple solvers (CVC5 and z3).

  • Each commit message has a non-empty body, explaining why the change was made.
  • Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/
  • Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
  • My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • White-space or formatting changes outside the feature-related changed lines are in commits of their own.

@thomasspriggs
Copy link
Contributor

This will need the CVC5 version number being installed in CI to be bumped before the tests are going to pass. The fact that the make build jobs are currently passing suggests that the CVC5 tests are not being run/checked properly on these jobs.

@NlightNFotis NlightNFotis force-pushed the run_tests_against_cvc5 branch 3 times, most recently from d708c65 to c0c15b1 Compare April 4, 2022 13:35
@../test.pl -e -p -c "../../../src/cbmc/cbmc --incremental-smt2-solver 'z3 --smt2 -in' --validate-goto-model --validate-ssa-equation --slice-formula" $(exclude_broken_windows_tests)

test.cvc5:
@../test.pl -e -p -c "../../../src/cbmc/cbmc --incremental-smt2-solver 'cvc5 --lang smt --incremental' --validate-goto-model --validate-ssa-equation --slice-formula" $(exclude_broken_windows_tests)
Copy link
Contributor

Choose a reason for hiding this comment

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

--lang=smtlib2.6 ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yep, getting on to that.

NlightNFotis and others added 3 commits April 4, 2022 17:16
This allows us to test against more than one solvers in the new
backend (currently tested - cvc5, z3).

This ensures that we don't invariably issue output that is solver
specific, tying the new backend to a single solver by accident.
…ith multiple solvers.

Previously the command that was enabling the new SMT backend (and providing
the script for invoking the appropriate SMT solver) was passed as part of the
options passed in `test.desc`.

Since this was removed, and passed as part of the test configuration in the
`CMakeLists.txt`, we need to do the same here.
@NlightNFotis NlightNFotis force-pushed the run_tests_against_cvc5 branch from c0c15b1 to fbd7662 Compare April 4, 2022 16:16
@NlightNFotis NlightNFotis merged commit b76cce8 into diffblue:develop Apr 5, 2022
@NlightNFotis NlightNFotis deleted the run_tests_against_cvc5 branch April 5, 2022 09:19
tautschnig added a commit to tautschnig/cbmc that referenced this pull request Apr 8, 2022
As of diffblue#6777, the codecov job kept failing for CVC5 wasn't available in
this job. The same would have been true of release jobs, but we haven't
had one since diffblue#6777 was merged.
tautschnig added a commit to tautschnig/cbmc that referenced this pull request Apr 8, 2022
As of diffblue#6777, the codecov job kept failing for CVC5 wasn't available in
this job. The same would have been true of release jobs, but we haven't
had one since diffblue#6777 was merged.
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.

3 participants