summaryrefslogtreecommitdiffstats
path: root/filedistribution/src/tests/zkfacade/test-zkfacade.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filedistribution/src/tests/zkfacade/test-zkfacade.cpp')
-rw-r--r--filedistribution/src/tests/zkfacade/test-zkfacade.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/filedistribution/src/tests/zkfacade/test-zkfacade.cpp b/filedistribution/src/tests/zkfacade/test-zkfacade.cpp
index ada601742db..d45e5059a53 100644
--- a/filedistribution/src/tests/zkfacade/test-zkfacade.cpp
+++ b/filedistribution/src/tests/zkfacade/test-zkfacade.cpp
@@ -8,6 +8,7 @@
#include <iostream>
#include <boost/thread/barrier.hpp>
+#include <boost/thread/thread.hpp>
#include <boost/checked_delete.hpp>
#include <vespa/filedistribution/common/componentsdeleter.h>
@@ -16,7 +17,7 @@
#include <zookeeper/zookeeper.h>
-using namespace std::literals;
+
using namespace filedistribution;
namespace {
@@ -34,13 +35,16 @@ struct Watcher : public ZKFacade::NodeChangedWatcher {
};
struct Fixture {
+ boost::shared_ptr<ExceptionRethrower> _exceptionRethrower;
ComponentsDeleter _componentsDeleter;
- std::shared_ptr<ZKFacade> zk;
+ boost::shared_ptr<ZKFacade> zk;
ZKFacade::Path testNode;
Fixture() {
+ _exceptionRethrower.reset(new ExceptionRethrower());
+
zoo_set_debug_level(ZOO_LOG_LEVEL_WARN);
- zk = _componentsDeleter.track(new ZKFacade("test1-tonyv:2181"));
+ zk = _componentsDeleter.track(new ZKFacade("test1-tonyv:2181", _exceptionRethrower));
testNode = "/test-node";
zk->removeIfExists(testNode);
@@ -70,7 +74,7 @@ BOOST_AUTO_TEST_CASE(hasNode)
BOOST_AUTO_TEST_CASE(hasNodeNotification)
{
- std::shared_ptr<Watcher> watcher(new Watcher);
+ boost::shared_ptr<Watcher> watcher(new Watcher);
zk->hasNode(testNode, watcher);
zk->setData(testNode, "", 0);
@@ -78,7 +82,7 @@ BOOST_AUTO_TEST_CASE(hasNodeNotification)
//after the notification has returned, the watcher must no longer reside in watchers map.
for (int i=0; i<20 && !watcher.unique(); ++i) {
- std::this_thread::sleep_for(100ms);
+ boost::thread::sleep(boost::get_system_time() + boost::posix_time::milliseconds(100));
}
BOOST_CHECK(watcher.unique());
}
@@ -152,7 +156,8 @@ BOOST_AUTO_TEST_CASE(addEphemeralNode)
zk->removeIfExists(ephemeralNode);
//Checked deleter is ok here since we're not installing any watchers
- ZKFacade::SP zk2(new ZKFacade("test1-tonyv:2181"), boost::checked_deleter<ZKFacade>());
+ ZKFacade::SP zk2(new ZKFacade("test1-tonyv:2181", _exceptionRethrower),
+ boost::checked_deleter<ZKFacade>());
zk2->addEphemeralNode(ephemeralNode);
BOOST_CHECK(zk->hasNode(ephemeralNode));
@@ -164,7 +169,7 @@ BOOST_AUTO_TEST_CASE(addEphemeralNode)
BOOST_AUTO_TEST_CASE(dataChangedNotification)
{
- std::shared_ptr<Watcher> watcher(new Watcher);
+ boost::shared_ptr<Watcher> watcher(new Watcher);
zk->setData(testNode, "", 0);
Buffer buffer(zk->getData(testNode, watcher));
@@ -177,7 +182,7 @@ BOOST_AUTO_TEST_CASE(dataChangedNotification)
BOOST_AUTO_TEST_CASE(getChildrenNotification)
{
- std::shared_ptr<Watcher> watcher(new Watcher);
+ boost::shared_ptr<Watcher> watcher(new Watcher);
zk->setData(testNode, "", 0);
zk->getChildren(testNode, watcher);
@@ -189,9 +194,9 @@ BOOST_AUTO_TEST_CASE(getChildrenNotification)
BOOST_AUTO_TEST_CASE(require_that_zkfacade_can_be_deleted_from_callback)
{
struct DeleteZKFacadeWatcher : public Watcher {
- std::shared_ptr<ZKFacade> _zk;
+ boost::shared_ptr<ZKFacade> _zk;
- DeleteZKFacadeWatcher(const std::shared_ptr<ZKFacade>& zk)
+ DeleteZKFacadeWatcher(const boost::shared_ptr<ZKFacade>& zk)
:_zk(zk)
{}
@@ -202,7 +207,7 @@ BOOST_AUTO_TEST_CASE(require_that_zkfacade_can_be_deleted_from_callback)
}
};
- std::shared_ptr<Watcher> watcher((Watcher*)new DeleteZKFacadeWatcher(zk));
+ boost::shared_ptr<Watcher> watcher((Watcher*)new DeleteZKFacadeWatcher(zk));
zk->setData(testNode, "", 0);
zk->getData(testNode, watcher);