diff options
Diffstat (limited to 'filedistribution/src/tests/zkfacade/test-zkfacade.cpp')
-rw-r--r-- | filedistribution/src/tests/zkfacade/test-zkfacade.cpp | 27 |
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); |