Skip to content

Commit 2010088

Browse files
committed
fix unit tests for CVC4 and CVC5.
1 parent 8880cf9 commit 2010088

File tree

2 files changed

+16
-20
lines changed

2 files changed

+16
-20
lines changed

src/org/sosy_lab/java_smt/test/FloatingPointFormulaManagerTest.java

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,8 @@ public void specialValueFunctionsFrom64Bits() throws SolverException, Interrupte
408408
@Test
409409
public void specialValueFunctionsFrom32Bits2() throws SolverException, InterruptedException {
410410
requireBitvectors();
411+
requireFPToBitvector();
412+
411413
FloatingPointFormula x = fpmgr.makeVariable("x32", singlePrecType);
412414

413415
assertThatFormula(fpmgr.isInfinity(x))
@@ -465,6 +467,8 @@ public void specialValueFunctionsFrom32Bits2() throws SolverException, Interrupt
465467
@Test
466468
public void specialValueFunctionsFrom64Bits2() throws SolverException, InterruptedException {
467469
requireBitvectors();
470+
requireFPToBitvector();
471+
468472
FloatingPointFormula x = fpmgr.makeVariable("x64", doublePrecType);
469473

470474
assertThatFormula(fpmgr.isInfinity(x))
@@ -980,10 +984,7 @@ public void fpTraversalWithRoundingMode() {
980984

981985
@Test
982986
public void fpIeeeConversionTypes() {
983-
assume()
984-
.withMessage("FP-to-BV conversion not available for CVC4 and CVC5")
985-
.that(solverToUse())
986-
.isNoneOf(Solvers.CVC4, Solvers.CVC5);
987+
requireFPToBitvector();
987988

988989
FloatingPointFormula var = fpmgr.makeVariable("var", singlePrecType);
989990
assertThat(mgr.getFormulaType(fpmgr.toIeeeBitvector(var)))
@@ -992,10 +993,7 @@ public void fpIeeeConversionTypes() {
992993

993994
@Test
994995
public void fpIeeeConversion() throws SolverException, InterruptedException {
995-
assume()
996-
.withMessage("FP-to-BV conversion not available for CVC4 and CVC5")
997-
.that(solverToUse())
998-
.isNoneOf(Solvers.CVC4, Solvers.CVC5);
996+
requireFPToBitvector();
999997

1000998
FloatingPointFormula var = fpmgr.makeVariable("var", singlePrecType);
1001999
assertThatFormula(
@@ -1006,10 +1004,7 @@ public void fpIeeeConversion() throws SolverException, InterruptedException {
10061004

10071005
@Test
10081006
public void ieeeFpConversion() throws SolverException, InterruptedException {
1009-
assume()
1010-
.withMessage("FP-to-BV conversion not available for CVC4 and CVC5")
1011-
.that(solverToUse())
1012-
.isNoneOf(Solvers.CVC4, Solvers.CVC5);
1007+
requireFPToBitvector();
10131008

10141009
BitvectorFormula var = bvmgr.makeBitvector(32, 123456789);
10151010
assertThatFormula(
@@ -1079,10 +1074,7 @@ public void checkIeeeBv2FpConversion64() throws SolverException, InterruptedExce
10791074

10801075
@Test
10811076
public void checkIeeeFp2BvConversion32() throws SolverException, InterruptedException {
1082-
assume()
1083-
.withMessage("FP-to-BV conversion not available for CVC4 and CVC5")
1084-
.that(solverToUse())
1085-
.isNoneOf(Solvers.CVC4, Solvers.CVC5);
1077+
requireFPToBitvector();
10861078

10871079
proveForAll(
10881080
// makeBV(value.bits) == fromFP(makeFP(value.float))
@@ -1095,10 +1087,7 @@ public void checkIeeeFp2BvConversion32() throws SolverException, InterruptedExce
10951087

10961088
@Test
10971089
public void checkIeeeFp2BvConversion64() throws SolverException, InterruptedException {
1098-
assume()
1099-
.withMessage("FP-to-BV conversion not available for CVC4 and CVC5")
1100-
.that(solverToUse())
1101-
.isNoneOf(Solvers.CVC4, Solvers.CVC5);
1090+
requireFPToBitvector();
11021091

11031092
proveForAll(
11041093
// makeBV(value.bits) == fromFP(makeFP(value.float))

src/org/sosy_lab/java_smt/test/SolverBasedTest0.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,13 @@ protected final void requireBitvectorToInt() {
240240
.isNotEqualTo(Solvers.YICES2);
241241
}
242242

243+
protected final void requireFPToBitvector() {
244+
assume()
245+
.withMessage("Solver %s does not yet support FP-to-BV conversion", solverToUse())
246+
.that(solverToUse())
247+
.isNoneOf(Solvers.CVC4, Solvers.CVC5);
248+
}
249+
243250
/** Skip test if the solver does not support quantifiers. */
244251
protected final void requireQuantifiers() {
245252
assume()

0 commit comments

Comments
 (0)