diff options
| author | Edwin Mons <edwin.mons@isode.com> | 2018-11-13 10:54:58 (GMT) |
|---|---|---|
| committer | Edwin Mons <edwin.mons@isode.com> | 2018-11-14 13:40:05 (GMT) |
| commit | 5d7fc97148125584a44a39a4beee1e71d9518385 (patch) | |
| tree | 9f630e8a9f69bdbd701c1b3c082bacf2b769938d /Swiften/QA/DNSSDTest/DNSSDTest.cpp | |
| parent | c0615a472f8d23ce449fd59bbb1cdf7071082a43 (diff) | |
| download | swift-5d7fc97148125584a44a39a4beee1e71d9518385.zip swift-5d7fc97148125584a44a39a4beee1e71d9518385.tar.bz2 | |
Address LinkLocal issues
Generation of TXT records might fail if any of the fields is too long,
so the result is now an optional (pending Expected). Callsites have been
updated to deal with this.
Three potentially uncaught exceptions in the Bonjour implementation have
been addressed.
Test-Information:
Unit tests pass on macOS 10.14 and Debian 9
Change-Id: Iec02c4606a18eee855362fd3c3d15614a9e72547
Diffstat (limited to 'Swiften/QA/DNSSDTest/DNSSDTest.cpp')
| -rw-r--r-- | Swiften/QA/DNSSDTest/DNSSDTest.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Swiften/QA/DNSSDTest/DNSSDTest.cpp b/Swiften/QA/DNSSDTest/DNSSDTest.cpp index ae2fafd..5a78d2f 100644 --- a/Swiften/QA/DNSSDTest/DNSSDTest.cpp +++ b/Swiften/QA/DNSSDTest/DNSSDTest.cpp @@ -1,11 +1,11 @@ /* - * Copyright (c) 2010-2016 Isode Limited. + * Copyright (c) 2010-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ // TODO: Test registering on different interfaces #include <cppunit/extensions/HelperMacros.h> #include <cppunit/extensions/TestFactoryRegistry.h> #include <boost/bind.hpp> @@ -29,19 +29,19 @@ using namespace Swift; template <typename DNSSDQuerierType> class DNSSDTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(DNSSDTest); CPPUNIT_TEST(testPublish); CPPUNIT_TEST_SUITE_END(); public: void setUp() { eventLoop = new DummyEventLoop(); - querier = std::make_shared<DNSSDQuerier>(); + querier = std::make_shared<DNSSDQuerierType>(eventLoop); querier->start(); } void tearDown() { querier->stop(); querier.reset(); delete eventLoop; } @@ -49,19 +49,19 @@ class DNSSDTest : public CppUnit::TestFixture { std::shared_ptr<DNSSDBrowseQuery> browseQuery = querier->createBrowseQuery(); browseQuery->onServiceAdded.connect(boost::bind(&DNSSDTest::handleServiceAdded, this, _1)); browseQuery->onServiceRemoved.connect(boost::bind(&DNSSDTest::handleServiceRemoved, this, _1)); browseQuery->onError.connect(boost::bind(&DNSSDTest::handleBrowseError, this)); browseQuery->startBrowsing(); eventLoop->processEvents(); // Publish the service LinkLocalServiceInfo info; - std::shared_ptr<DNSSDRegisterQuery> registerQuery = querier->createRegisterQuery("DNSSDTest", 1234, info.toTXTRecord()); + std::shared_ptr<DNSSDRegisterQuery> registerQuery = querier->createRegisterQuery("DNSSDTest", 1234, *info.toTXTRecord()); registerQuery->onRegisterFinished.connect(boost::bind(&DNSSDTest::handleRegisterFinished, this, _1)); registerQuery->registerService(); // Wait for a while wait(); // Check that our registered queries are correct CPPUNIT_ASSERT_EQUAL(1, static_cast<int>((registered.size()))); CPPUNIT_ASSERT_EQUAL(std::string("DNSSDTest"), registered[0].getName()); @@ -131,19 +131,19 @@ class DNSSDTest : public CppUnit::TestFixture { } void handleResolveFinished(const boost::optional<DNSSDResolveServiceQuery::Result>& result) { CPPUNIT_ASSERT(result); resolvedServices.push_back(*result); } private: DummyEventLoop* eventLoop; - std::shared_ptr<DNSSDQuerier> querier; + std::shared_ptr<DNSSDQuerierType> querier; std::vector<DNSSDServiceID> added; std::vector<DNSSDServiceID> registered; std::vector<DNSSDServiceID> toRemove; std::vector<DNSSDResolveServiceQuery::Result> resolvedServices; }; #ifdef HAVE_AVAHI CPPUNIT_TEST_SUITE_REGISTRATION(DNSSDTest<AvahiQuerier>); #endif |
Swift