3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-26 02:25:32 +00:00

ensure that assertions within the unit tests are exercised in all build modes, remove special handling of SASSERT for release mode #1163

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-07-26 20:28:55 -07:00
parent 3f8b63f5a8
commit b1298d7bde
67 changed files with 1277 additions and 1285 deletions

View file

@ -54,7 +54,7 @@ static void tst1() {
std::cout << "p: " << p << "\n";
am.isolate_roots(p, rs1);
display_anums(std::cout, rs1);
SASSERT(rs1.size() == 1);
ENSURE(rs1.size() == 1);
std::cout.flush();
p = (x^2) - 2;
@ -62,7 +62,7 @@ static void tst1() {
rs1.reset();
am.isolate_roots(p, rs1);
display_anums(std::cout, rs1);
SASSERT(rs1.size() == 2);
ENSURE(rs1.size() == 2);
scoped_anum sqrt2(am);
am.set(sqrt2, rs1[1]);
@ -88,7 +88,7 @@ static void tst1() {
rs1.reset();
am.isolate_roots(p, rs1);
display_anums(std::cout, rs1);
SASSERT(rs1.size() == 3);
ENSURE(rs1.size() == 3);
scoped_anum gauss(am);
am.set(gauss, rs1[1]);
@ -104,7 +104,7 @@ static void tst1() {
rs1.reset();
am.isolate_roots(p, rs1);
display_anums(std::cout, rs1);
SASSERT(rs1.size() == 4);
ENSURE(rs1.size() == 4);
scoped_anum hidden_sqrt2(am);
am.set(hidden_sqrt2, rs1[2]);
@ -116,8 +116,8 @@ static void tst1() {
std::cout << "sqrt(2)^4: " << (sqrt2^4) << "\n";
SASSERT(is_int(power(sqrt2, 4)));
SASSERT(power(sqrt2, 4) == 4);
ENSURE(is_int(power(sqrt2, 4)));
ENSURE(power(sqrt2, 4) == 4);
scoped_anum sqrt2_gauss(am);
am.add(sqrt2, gauss, sqrt2_gauss);
@ -242,9 +242,9 @@ static void tst_wilkinson() {
std::cout << "p: " << p << "\n";
am.isolate_roots(p, rs1);
display_anums(std::cout, rs1);
SASSERT(rs1.size() == 20);
ENSURE(rs1.size() == 20);
for (unsigned i = 0; i < rs1.size(); i++) {
SASSERT(am.is_int(rs1[i]));
ENSURE(am.is_int(rs1[i]));
}
}
@ -328,9 +328,9 @@ static void tst_eval_sign(polynomial_ref const & p, anum_manager & am,
std::cout << "x1 -> "; am.display_root(std::cout, v1); std::cout << "\n";
std::cout << "x2 -> "; am.display_root(std::cout, v2); std::cout << "\n";
int s = am.eval_sign_at(p, x2v);
SASSERT((s == 0) == (expected == 0));
SASSERT((s < 0) == (expected < 0));
SASSERT((s > 0) == (expected > 0));
ENSURE((s == 0) == (expected == 0));
ENSURE((s < 0) == (expected < 0));
ENSURE((s > 0) == (expected > 0));
std::cout << "sign: " << s << "\n";
}
@ -399,7 +399,7 @@ static void tst_isolate_roots(polynomial_ref const & p, anum_manager & am,
scoped_anum_vector roots(am);
svector<int> signs;
am.isolate_roots(p, x2v, roots, signs);
SASSERT(roots.size() + 1 == signs.size());
ENSURE(roots.size() + 1 == signs.size());
std::cout << "roots:\n";
for (unsigned i = 0; i < roots.size(); i++) {
am.display_root(std::cout, roots[i]); std::cout << " "; am.display_decimal(std::cout, roots[i]); std::cout << "\n";