3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-08 16:25:48 +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

@ -46,36 +46,36 @@ static void tst1() {
int_array a3;
m.mk(a1);
SASSERT(m.size(a1) == 0);
ENSURE(m.size(a1) == 0);
m.push_back(a1, 10, a2);
TRACE("parray",
m.display_info(tout, a1); tout << "\n";
m.display_info(tout, a2); tout << "\n";);
SASSERT(m.size(a1) == 0);
SASSERT(m.size(a2) == 1);
ENSURE(m.size(a1) == 0);
ENSURE(m.size(a2) == 1);
m.push_back(a1, 20, a1);
m.push_back(a1, 30, a1);
TRACE("parray",
m.display_info(tout, a1); tout << "\n";
m.display_info(tout, a2); tout << "\n";);
SASSERT(m.get(a1, 0) == 20);
SASSERT(m.get(a1, 1) == 30);
SASSERT(m.get(a2, 0) == 10);
SASSERT(m.size(a1) == 2);
SASSERT(m.size(a2) == 1);
SASSERT(m.size(a3) == 0);
ENSURE(m.get(a1, 0) == 20);
ENSURE(m.get(a1, 1) == 30);
ENSURE(m.get(a2, 0) == 10);
ENSURE(m.size(a1) == 2);
ENSURE(m.size(a2) == 1);
ENSURE(m.size(a3) == 0);
m.push_back(a2, 100, a3);
SASSERT(m.size(a3) == 2);
SASSERT(m.get(a3, 0) == 10);
SASSERT(m.get(a3, 1) == 100);
ENSURE(m.size(a3) == 2);
ENSURE(m.get(a3, 0) == 10);
ENSURE(m.get(a3, 1) == 100);
TRACE("parray",
m.display_info(tout, a1); tout << "\n";
m.display_info(tout, a2); tout << "\n";
m.display_info(tout, a3); tout << "\n";);
m.push_back(a2, 50);
SASSERT(m.get(a2, 0) == 10);
SASSERT(m.get(a2, 1) == 50);
SASSERT(m.size(a2) == 2);
ENSURE(m.get(a2, 0) == 10);
ENSURE(m.get(a2, 1) == 50);
ENSURE(m.size(a2) == 2);
TRACE("parray",
m.display_info(tout, a1); tout << "\n";
m.display_info(tout, a2); tout << "\n";
@ -100,22 +100,22 @@ static void tst2() {
for (unsigned i = 0; i < 100; i++)
m.push_back(a1, i);
SASSERT(m.size(a1) == 100);
ENSURE(m.size(a1) == 100);
m.push_back(a1, 100, a2);
for (unsigned i = 0; i < 10; i++)
m.push_back(a2, i+101);
TRACE("parray",
m.display_info(tout, a1); tout << "\n";
m.display_info(tout, a2); tout << "\n";);
SASSERT(m.get(a1, 0) == 0);
ENSURE(m.get(a1, 0) == 0);
TRACE("parray",
m.display_info(tout, a1); tout << "\n";
m.display_info(tout, a2); tout << "\n";);
for (unsigned i = 0; i < m.size(a1); i++) {
SASSERT(static_cast<unsigned>(m.get(a1, i)) == i);
ENSURE(static_cast<unsigned>(m.get(a1, i)) == i);
}
for (unsigned i = 0; i < m.size(a2); i++) {
SASSERT(static_cast<unsigned>(m.get(a2, i)) == i);
ENSURE(static_cast<unsigned>(m.get(a2, i)) == i);
}
TRACE("parray",
m.display_info(tout, a1); tout << "\n";
@ -145,7 +145,7 @@ static void tst3() {
for (unsigned i = 0; i < 20; i++)
m.push_back(a1, i);
SASSERT(m.size(a1) == 20);
ENSURE(m.size(a1) == 20);
m.set(a1, 0, 1, a2);
for (unsigned i = 1; i < 20; i++) {
if (i == 6) {
@ -161,7 +161,7 @@ static void tst3() {
m.push_back(a4, 30);
for (unsigned i = 0; i < 20; i++) {
SASSERT(static_cast<unsigned>(m.get(a2, i)) == i+1);
ENSURE(static_cast<unsigned>(m.get(a2, i)) == i+1);
}
TRACE("parray",
m.display_info(tout, a1); tout << "\n";
@ -169,7 +169,7 @@ static void tst3() {
m.display_info(tout, a3); tout << "\n";
m.display_info(tout, a4); tout << "\n";
);
SASSERT(m.get(a1, 10) == 10);
ENSURE(m.get(a1, 10) == 10);
TRACE("parray",
tout << "after rerooting...\n";
m.display_info(tout, a1); tout << "\n";
@ -177,19 +177,19 @@ static void tst3() {
m.display_info(tout, a3); tout << "\n";
m.display_info(tout, a4); tout << "\n";
);
SASSERT(m.size(a1) == 20);
SASSERT(m.size(a2) == 20);
SASSERT(m.size(a3) == 19);
SASSERT(m.size(a4) == 19);
ENSURE(m.size(a1) == 20);
ENSURE(m.size(a2) == 20);
ENSURE(m.size(a3) == 19);
ENSURE(m.size(a4) == 19);
for (unsigned i = 0; i < 20; i++) {
SASSERT(static_cast<unsigned>(m.get(a1, i)) == i);
SASSERT(static_cast<unsigned>(m.get(a2, i)) == i+1);
SASSERT(i >= 18 || static_cast<unsigned>(m.get(a4, i)) == i+1);
SASSERT(i >= 6 || static_cast<unsigned>(m.get(a3, i)) == i+1);
SASSERT(!(6 <= i && i <= 17) || static_cast<unsigned>(m.get(a3, i)) == i);
ENSURE(static_cast<unsigned>(m.get(a1, i)) == i);
ENSURE(static_cast<unsigned>(m.get(a2, i)) == i+1);
ENSURE(i >= 18 || static_cast<unsigned>(m.get(a4, i)) == i+1);
ENSURE(i >= 6 || static_cast<unsigned>(m.get(a3, i)) == i+1);
ENSURE(!(6 <= i && i <= 17) || static_cast<unsigned>(m.get(a3, i)) == i);
}
SASSERT(m.get(a4, 18) == 30);
SASSERT(m.get(a3, 18) == 40);
ENSURE(m.get(a4, 18) == 30);
ENSURE(m.get(a3, 18) == 40);
TRACE("parray",
tout << "after many gets...\n";
m.display_info(tout, a1); tout << "\n";