summaryrefslogtreecommitdiff
path: root/libadhocutil/unittests/testResourcePool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libadhocutil/unittests/testResourcePool.cpp')
-rw-r--r--libadhocutil/unittests/testResourcePool.cpp14
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;