Skip to content

A decision_proceduret isn't a messaget [blocks: #3800] #4042

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

Conversation

tautschnig
Copy link
Collaborator

Some derived classes may want to generate output, but then it's safe for them to
be messaget's.

  • Each commit message has a non-empty body, explaining why the change was made.
  • n/a Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • n/a 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).
  • n/a My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • n/a White-space or formatting changes outside the feature-related changed lines are in commits of their own.

Copy link
Contributor

@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: bfb6694).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/99535966
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.

@tautschnig
Copy link
Collaborator Author

I guess this needs a genuine update to TG as there are some API changes required. The message handler that may now be needed should be available wherever those functions are invoked.

@tautschnig tautschnig changed the title A decision_proceduret isn't a messaget A decision_proceduret isn't a messaget [blocks: #3800] Feb 3, 2019
{
try
{
convert_guards(prop_conv);
convert_assignments(prop_conv);
convert_guards(prop_conv, message_handler);
Copy link
Member

Choose a reason for hiding this comment

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

Can you add a messaget log member to reduce the churn?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I could do, but then the constructor would need to take a message_handlert (as constructing a messaget without a message_handlert is deprecated). Does that seem reasonable?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@peterschrammel I have done as you suggested - I think it's thanks to your goto-checker refactoring that this was a fairly smooth sailing.

Copy link
Contributor

@romainbrenguier romainbrenguier left a comment

Choose a reason for hiding this comment

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

Needs a rebase. Otherwise looks good, but I'm waiting for tests result to give approval.

@@ -67,7 +68,7 @@ class prop_convt:public decision_proceduret

/*! \brief TO_BE_DOCUMENTED
*/
class prop_conv_solvert:public prop_convt
class prop_conv_solvert : public prop_convt, public messaget
Copy link
Contributor

Choose a reason for hiding this comment

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

ideally the inheritance should be removed here as well (could be done in a separate PR)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, I am going to do so in a separate PR. I just wanted to keep the churn as small as possible.

@tautschnig tautschnig force-pushed the decision_proceduret-no-messaget branch 2 times, most recently from 4851c79 to dc3c08c Compare February 7, 2019 08:29
Copy link
Contributor

@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: 4851c79).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/100055608
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.

@tautschnig tautschnig force-pushed the decision_proceduret-no-messaget branch 2 times, most recently from c0c8514 to d933332 Compare February 7, 2019 20:42
@tautschnig tautschnig requested a review from danpoe as a code owner February 7, 2019 20:42
@tautschnig tautschnig force-pushed the decision_proceduret-no-messaget branch 3 times, most recently from 22160c3 to 3530bc8 Compare February 14, 2019 17:31
Copy link
Contributor

@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: 3530bc8).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/100982523
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.

@tautschnig tautschnig added the Needs TG approval 🦉 Only merge with explicit approval from test-gen maintainers label Feb 21, 2019
@romainbrenguier
Copy link
Contributor

Half of the CI checks on TG were passing when I made the pull request (the other half didn't start for some reason), I can't check it now because the build is not working for other reasons, but I wouldn't block this PR for that

@tautschnig tautschnig removed the Needs TG approval 🦉 Only merge with explicit approval from test-gen maintainers label Mar 5, 2019
@tautschnig
Copy link
Collaborator Author

Thanks @romainbrenguier! This is still in need of review anyway, but I'll remove the TG-approval label for now.

@tautschnig tautschnig force-pushed the decision_proceduret-no-messaget branch from 3530bc8 to 46a8930 Compare March 5, 2019 16:02
Copy link
Contributor

@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: 46a8930).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/103243408
Status will be re-evaluated on next push.
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 compatibility was already broken by an earlier merge.

@@ -12,11 +12,12 @@ Author: Daniel Kroening, kroening@kroening.com
#ifndef CPROVER_UTIL_DECISION_PROCEDURE_H
#define CPROVER_UTIL_DECISION_PROCEDURE_H

#include "message.h"
#include <iosfwd>
#include <string>
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure why these are needed.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

decision_procedure_text returns a std::string and print_assignment takes a std::ostream as parameter. (Previously both includes were dragged in by message.h.)

@tautschnig tautschnig force-pushed the decision_proceduret-no-messaget branch from 46a8930 to 4d8662f Compare March 6, 2019 23:39
Copy link
Contributor

@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: 4d8662f).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/103462478

Some derived classes may want to generate output, but then it's safe for them to
be messaget's.
@tautschnig tautschnig force-pushed the decision_proceduret-no-messaget branch from 4d8662f to ab09a6c Compare March 7, 2019 07:04
@tautschnig tautschnig merged commit 133c096 into diffblue:develop Mar 7, 2019
@tautschnig tautschnig deleted the decision_proceduret-no-messaget branch March 7, 2019 08:34
Copy link
Contributor

@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: ab09a6c).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/103491412

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants