diff options
Diffstat (limited to 'libadhocutil/unittests/testResourcePool.cpp')
-rw-r--r-- | libadhocutil/unittests/testResourcePool.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libadhocutil/unittests/testResourcePool.cpp b/libadhocutil/unittests/testResourcePool.cpp index 411f1bb..3af149b 100644 --- a/libadhocutil/unittests/testResourcePool.cpp +++ b/libadhocutil/unittests/testResourcePool.cpp @@ -11,6 +11,8 @@ class MockResource { MockResource(const MockResource &) = delete; void operator=(const MockResource &) = delete; + bool valid() const { return true; } + static std::atomic<unsigned int> count; }; @@ -90,6 +92,18 @@ BOOST_AUTO_TEST_CASE ( get ) BOOST_REQUIRE_EQUAL(0, MockResource::count); } +BOOST_AUTO_TEST_CASE( destroyPoolWhenInUse ) +{ + auto rp = new TRP(); + auto rh1 = rp->get(); + auto rh2 = rp->get(); + auto rh3 = rh1; + delete rp; + BOOST_REQUIRE(rh1->valid()); + BOOST_REQUIRE(rh2->valid()); + BOOST_REQUIRE(rh3->valid()); +} + BOOST_AUTO_TEST_CASE ( getMine ) { TRP pool; |