From de164c9308f6461472b95c23aae68d9d9686d8ae Mon Sep 17 00:00:00 2001 From: Morgan Deters Date: Mon, 25 Apr 2011 07:59:57 +0000 Subject: [PATCH] small unit test fix; was broken only in non-assertion, non-CLN builds --- test/unit/util/integer_black.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test/unit/util/integer_black.h b/test/unit/util/integer_black.h index 66e29a01b..5b8397f66 100644 --- a/test/unit/util/integer_black.h +++ b/test/unit/util/integer_black.h @@ -300,11 +300,25 @@ public: unsigned long ul = numeric_limits::max(); Integer i(ul); TS_ASSERT(i.getUnsignedLong() == ul); +#if defined(CVC4_ASSERTIONS) || defined(CVC4_CLN_IMP) + // CLN comes with exceptions built-in, and in assertion-enabled + // GMP builds, we check it TS_ASSERT_THROWS_ANYTHING(i.getLong()); +#else /* CVC4_ASSERTIONS || CVC4_CLN_IMP */ + // otherwise we look for the expected overflow; if it doesn't + // happen, something's fishy... + TS_ASSERT( Integer(i.getLong()) != i ); +#endif /* CVC4_ASSERTIONS || CVC4_CLN_IMP */ unsigned long ulplus1 = ul + 1; TS_ASSERT(ulplus1 == 0); i = i + 1; +#if defined(CVC4_ASSERTIONS) || defined(CVC4_CLN_IMP) + // again, CLN || assertions will throw... TS_ASSERT_THROWS_ANYTHING(i.getUnsignedLong()); +#else /* CVC4_ASSERTIONS || CVC4_CLN_IMP */ + // otherwise expect the overflow + TS_ASSERT( Integer(i.getUnsignedLong()) != i ); +#endif /* CVC4_ASSERTIONS || CVC4_CLN_IMP */ } void testTestBit() { -- 2.30.2