From: Aina Niemetz Date: Fri, 4 Dec 2020 18:54:46 +0000 (-0800) Subject: google test: context: Migrate cdmap_white. (#5585) X-Git-Tag: cvc5-1.0.0~2499 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1636bd54a893ea9d1a559e0e6c45f184a8493209;p=cvc5.git google test: context: Migrate cdmap_white. (#5585) --- diff --git a/test/unit/context/CMakeLists.txt b/test/unit/context/CMakeLists.txt index d19ad60c0..a9204033a 100644 --- a/test/unit/context/CMakeLists.txt +++ b/test/unit/context/CMakeLists.txt @@ -13,7 +13,7 @@ cvc4_add_unit_test_black(cdlist_black context) cvc4_add_unit_test_black(cdmap_black context) -cvc4_add_cxx_unit_test_white(cdmap_white context) +cvc4_add_unit_test_white(cdmap_white context) cvc4_add_cxx_unit_test_black(cdo_black context) cvc4_add_cxx_unit_test_black(context_black context) cvc4_add_cxx_unit_test_black(context_mm_black context) diff --git a/test/unit/context/cdmap_white.cpp b/test/unit/context/cdmap_white.cpp new file mode 100644 index 000000000..4e71b3ad2 --- /dev/null +++ b/test/unit/context/cdmap_white.cpp @@ -0,0 +1,47 @@ +/********************* */ +/*! \file cdmap_white.cpp + ** \verbatim + ** Top contributors (to current version): + ** Aina Niemetz, Morgan Deters, Dejan Jovanovic + ** This file is part of the CVC4 project. + ** Copyright (c) 2009-2020 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 CVC4::context::CDMap<>. + ** + ** White box testing of CVC4::context::CDMap<>. + **/ + +#include "base/check.h" +#include "context/cdhashmap.h" +#include "test_context.h" + +namespace CVC4 { + +using namespace context; + +namespace test { + +class TestContextCDMapWhite : public TestContext +{ +}; + +TEST_F(TestContextCDMapWhite, unreachable_save_and_restore) +{ + CDHashMap map(d_context.get()); + + ASSERT_NO_THROW(map.makeCurrent()); + + ASSERT_DEATH(map.update(), "Unreachable code reached"); + + ASSERT_DEATH(map.save(d_context->getCMM()), "Unreachable code reached"); + ASSERT_DEATH(map.restore(&map), "Unreachable code reached"); + + d_context->push(); + ASSERT_DEATH(map.makeCurrent(), "Unreachable code reached"); +} + +} // namespace test +} // namespace CVC4 diff --git a/test/unit/context/cdmap_white.h b/test/unit/context/cdmap_white.h deleted file mode 100644 index 7b2f7f8e0..000000000 --- a/test/unit/context/cdmap_white.h +++ /dev/null @@ -1,50 +0,0 @@ -/********************* */ -/*! \file cdmap_white.h - ** \verbatim - ** Top contributors (to current version): - ** Morgan Deters, Mathias Preiner, Andres Noetzli - ** This file is part of the CVC4 project. - ** Copyright (c) 2009-2020 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 CVC4::context::CDMap<>. - ** - ** White box testing of CVC4::context::CDMap<>. - **/ - -#include - -#include "base/check.h" -#include "context/cdhashmap.h" -#include "test_utils.h" - -using namespace std; -using namespace CVC4; -using namespace CVC4::context; - -class CDMapWhite : public CxxTest::TestSuite { - - Context* d_context; - - public: - void setUp() override { d_context = new Context; } - - void tearDown() override { delete d_context; } - - void testUnreachableSaveAndRestore() - { - CDHashMap map(d_context); - - TS_ASSERT_THROWS_NOTHING(map.makeCurrent()); - - TS_UTILS_EXPECT_ABORT(map.update()); - - TS_UTILS_EXPECT_ABORT(map.save(d_context->getCMM())); - TS_UTILS_EXPECT_ABORT(map.restore(&map)); - - d_context->push(); - TS_UTILS_EXPECT_ABORT(map.makeCurrent()); - } -};