def execute_script_fname(smtfile, logic, expected_result): """Read and call a Solver to solve the instance""" reset_env() Solver = get_env().factory.Solver parser = SmtLibParser() script = parser.get_script_fname(smtfile) try: log = script.evaluate( Solver(logic=logic, incremental=False, generate_models=False)) except NoSolverAvailableError: raise SkipTest("No solver for logic %s." % logic) except SolverReturnedUnknownResultError: if not logic.quantifier_free: warnings.warn( "Test (%s, %s) could not be solver due to quantifiers." % (logic, smtfile)) return raise res = check_sat_filter(log) if res: assert expected_result == "sat" else: assert expected_result == "unsat"
def execute_script_fname(smtfile, logic, expected_result): """Read and call a Solver to solve the instance""" reset_env() Solver = get_env().factory.Solver parser = SmtLibParser() script = parser.get_script_fname(smtfile) try: solver = Solver(logic=logic, incremental=False, generate_models=False) if logic == QF_UF and type(solver).__name__ == 'CVC4Solver': warnings.warn( "Test (%s, %s) skipped because CVC4 can't handle QF_UF." % (logic, smtfile)) return if logic == QF_UF and type(solver).__name__ == 'BoolectorSolver': warnings.warn( "Test (%s, %s) skipped because Boolector can't handle QF_UF." % (logic, smtfile)) return log = script.evaluate(solver) except NoSolverAvailableError: raise SkipTest("No solver for logic %s." % logic) except SolverReturnedUnknownResultError: if not logic.quantifier_free: warnings.warn( "Test (%s, %s) could not be solved due to quantifiers." % (logic, smtfile)) return raise res = check_sat_filter(log) assert expected_result == res
def execute_script_fname(smtfile, logic, expected_result): """Read and call a Solver to solve the instance""" reset_env() assert os.path.exists(smtfile), smtfile parser = SmtLibParser() script = parser.get_script_fname(smtfile) try: log = script.evaluate(Solver(logic=logic)) except NoSolverAvailableError: raise unittest.SkipTest("No solver for logic %s." % logic) res = check_sat_filter(log) if res: assert expected_result == "sat" else: assert expected_result == "unsat"
def execute_script_fname(smtfile, logic, expected_result): """Read and call a Solver to solve the instance""" reset_env() assert os.path.exists(smtfile), smtfile parser = SmtLibParser() script = parser.get_script_fname(smtfile) try: log = script.evaluate(Solver(logic=logic)) except NoSolverAvailableError: raise SkipTest("No solver for logic %s." % logic) res = check_sat_filter(log) if res: assert expected_result == "sat" else: assert expected_result == "unsat"
def execute_script_fname(smtfile, logic, expected_result): """Read and call a Solver to solve the instance""" reset_env() Solver = get_env().factory.Solver parser = SmtLibParser() script = parser.get_script_fname(smtfile) try: log = script.evaluate(Solver(logic=logic, incremental=False, generate_models=False)) except NoSolverAvailableError: raise SkipTest("No solver for logic %s." % logic) except SolverReturnedUnknownResultError: if not logic.quantifier_free: warnings.warn("Test (%s, %s) could not be solver due to quantifiers." % (logic, smtfile)) return raise res = check_sat_filter(log) assert expected_result == res