Skip to content

SMT2 strings tests #4015

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 4 commits into from
Feb 1, 2019
Merged

SMT2 strings tests #4015

merged 4 commits into from
Feb 1, 2019

Conversation

allredj
Copy link
Contributor

@allredj allredj commented Jan 31, 2019

Adds tests for SMT2 string operations. This PR is limited to tests for constant strings. More tests will come later. The main objective is to check support for these operations on external solvers, but that suite will also become useful once string support is added to CBMC SMT2 backend.

  • 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.

@allredj allredj self-assigned this Jan 31, 2019
Copy link
Collaborator

@tautschnig tautschnig left a comment

Choose a reason for hiding this comment

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

Seems ok except as noted below.

default: tests.log

test:
@../test.pl -p -c ../../../src/solvers/smt2_strings
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should that be smt2_solver instead? Not that it would support the theory, but the above doesn't exist at all...

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, fixed.

@@ -0,0 +1 @@
!*.smt2
Copy link
Collaborator

Choose a reason for hiding this comment

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

That would mean that Makefile, CMakeLists.txt, *.desc are also ignore, which doesn't seem right.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't understand. I need to discard the ignore that is introduced here:
https://github.com/diffblue/cbmc/blob/develop/.gitignore#L59
and which is useful on the regression tests where cbmc is run with the --smt2 option.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Oops, I wasn't aware of that interaction.

Copy link
Member

Choose a reason for hiding this comment

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

I don't think that cbmc still writes the file on disk when run with --smt2?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@allredj allredj force-pushed the smt2_strings_tests branch from 817ce97 to 361050f Compare January 31, 2019 17:29
Copy link
Contributor Author

@allredj allredj left a comment

Choose a reason for hiding this comment

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

🚫
This PR failed Diffblue compatibility checks (cbmc commit: 817ce97).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/99315203
Status will be re-evaluated on next push.
Please contact @peterschrammel, @thk123, or @allredj for support.

Common spurious failures:

  • the cbmc commit has disappeared in the mean time (e.g. in a force-push)
  • the author is not in the list of contributors (e.g. first-time contributors).

The incompatibility may have been introduced by an earlier PR. In that case merging this
PR should be avoided unless it fixes the current incompatibility.

Copy link
Contributor Author

@allredj allredj left a comment

Choose a reason for hiding this comment

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

✔️
Passed Diffblue compatibility checks (cbmc commit: 361050f).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/99324952

@tautschnig tautschnig merged commit d7a91ad into diffblue:develop Feb 1, 2019
@allredj allredj deleted the smt2_strings_tests branch March 29, 2019 09:40
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.

4 participants