diff options
Diffstat (limited to 'test/unit')
-rw-r--r-- | test/unit/Makefile.am | 1 | ||||
-rw-r--r-- | test/unit/util/check_white.h | 58 |
2 files changed, 59 insertions, 0 deletions
diff --git a/test/unit/Makefile.am b/test/unit/Makefile.am index 9f61ef031..167100ff0 100644 --- a/test/unit/Makefile.am +++ b/test/unit/Makefile.am @@ -41,6 +41,7 @@ UNIT_TESTS += \ context/cdvector_black \ util/array_store_all_black \ util/assert_white \ + util/check_white \ util/binary_heap_black \ util/bitvector_black \ util/datatype_black \ diff --git a/test/unit/util/check_white.h b/test/unit/util/check_white.h new file mode 100644 index 000000000..e57afa6c7 --- /dev/null +++ b/test/unit/util/check_white.h @@ -0,0 +1,58 @@ +/********************* */ +/*! \file check_white.h + ** \verbatim + ** Top contributors (to current version): + ** Tim King + ** This file is part of the CVC4 project. + ** Copyright (c) 2009-2017 by the authors listed in the file AUTHORS + ** in the top-level source directory) and their institutional affiliations. + ** All rights reserved. See the file COPYING in the top-level source + ** directory for licensing information.\endverbatim + ** + ** \brief White box testing of check utilities. + ** + ** White box testing of check utilities. + **/ + +#include <cxxtest/TestSuite.h> + +#include <cstring> +#include <string> + +#include "base/cvc4_check.h" + +using namespace std; +using namespace CVC4; + +namespace { + +class CheckWhite : public CxxTest::TestSuite +{ + public: + const int kOne = 1; + + // This test just checks that this statement compiles. + std::string TerminalCvc4Fatal() const + { + CVC4_FATAL() << "This is a test that confirms that CVC4_FATAL can be a " + "terminal statement in a function that has a non-void " + "return type."; + } + + void testCheck() { CHECK(kOne >= 0) << kOne << " must be positive"; } + void testDCheck() + { + DCHECK(kOne == 1) << "always passes"; +#ifndef CVC4_ASSERTIONS + DCHECK(false) << "Will not be compiled in when CVC4_ASSERTIONS off."; +#endif /* CVC4_ASSERTIONS */ + } + + void testPointerTypeCanBeTheCondition() + { + const int* one_pointer = &kOne; + CHECK(one_pointer); + } +}; + +} // namespace |