Merge pull request #2282 from YosysHQ/claire/satunsat

Only allow "sat" and "unsat" smt solver responses in yosys-smtbmc
This commit is contained in:
clairexen 2020-07-20 23:06:36 +02:00 committed by GitHub
commit 856d40973d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -1275,10 +1275,10 @@ def smt_pop():
asserts_consequent_cache.pop()
smt.write("(pop 1)")
def smt_check_sat():
def smt_check_sat(expected=["sat", "unsat"]):
if asserts_cache_dirty:
smt_forall_assert()
return smt.check_sat()
return smt.check_sat(expected=expected)
if tempind:
retstatus = "FAILED"

View File

@ -653,7 +653,7 @@ class SmtIo:
return stmt
def check_sat(self):
def check_sat(self, expected=["sat", "unsat", "unknown", "timeout", "interrupted"]):
if self.debug_print:
print("> (check-sat)")
if self.debug_file and not self.nocomments:
@ -740,7 +740,7 @@ class SmtIo:
print("(check-sat)", file=self.debug_file)
self.debug_file.flush()
if result not in ["sat", "unsat", "unknown", "timeout", "interrupted"]:
if result not in expected:
if result == "":
print("%s Unexpected EOF response from solver." % (self.timestamp()), flush=True)
else: