[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498

Maximiliano Curia maxy at moszumanska.debian.org
Fri Oct 14 14:29:24 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=af5be6e

The following commit has been merged in the master branch:
commit af5be6e9e0fb26297bf4792cba1df100b9d6089c
Author: Albert Vaca <albertvaka at gmail.com>
Date:   Wed Dec 2 09:49:00 2015 -0800

    Added a test mode to lanlinkprovider
    
    Should fix tests when you run them on networks with real kdeconnects
    running.
---
 core/backends/lan/lanlinkprovider.cpp | 12 ++++++++----
 core/backends/lan/lanlinkprovider.h   |  3 ++-
 core/backends/lan/server.cpp          |  1 +
 tests/lanlinkprovidertest.cpp         | 24 ++++++++++++++++--------
 4 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp
index 6012612..2ec250c 100644
--- a/core/backends/lan/lanlinkprovider.cpp
+++ b/core/backends/lan/lanlinkprovider.cpp
@@ -43,7 +43,8 @@
 #include <QtNetwork/qsslcipher.h>
 #include <QtNetwork/qsslconfiguration.h>
 
-LanLinkProvider::LanLinkProvider()
+LanLinkProvider::LanLinkProvider(bool testMode)
+    : mTestMode(testMode)
 {
     mTcpPort = 0;
 
@@ -72,10 +73,13 @@ LanLinkProvider::~LanLinkProvider()
 
 void LanLinkProvider::onStart()
 {
-    mUdpServer->bind(QHostAddress::Any, port, QUdpSocket::ShareAddress);
+    const QHostAddress bindAddress = mTestMode? QHostAddress::LocalHost : QHostAddress::Any;
+
+    bool success = mUdpServer->bind(bindAddress, port, QUdpSocket::ShareAddress);
+    Q_ASSERT(success);
 
     mTcpPort = port;
-    while (!mServer->listen(QHostAddress::Any, mTcpPort)) {
+    while (!mServer->listen(bindAddress, mTcpPort)) {
         mTcpPort++;
         if (mTcpPort > 1764) { //No ports available?
             qCritical(KDECONNECT_CORE) << "Error opening a port in range 1714-1764";
@@ -107,7 +111,7 @@ void LanLinkProvider::onNetworkChange()
     NetworkPackage np("");
     NetworkPackage::createIdentityPackage(&np);
     np.set("tcpPort", mTcpPort);
-    mUdpSocket.writeDatagram(np.serialize(), QHostAddress("255.255.255.255"), port);
+    mUdpSocket.writeDatagram(np.serialize(), mTestMode ? QHostAddress::LocalHost : QHostAddress::Any, port);
 }
 
 //I'm the existing device, a new device is kindly introducing itself.
diff --git a/core/backends/lan/lanlinkprovider.h b/core/backends/lan/lanlinkprovider.h
index 1ab8fde..28149e4 100644
--- a/core/backends/lan/lanlinkprovider.h
+++ b/core/backends/lan/lanlinkprovider.h
@@ -38,7 +38,7 @@ class LanLinkProvider
     Q_OBJECT
 
 public:
-    LanLinkProvider();
+    LanLinkProvider(bool testMode = false);
     ~LanLinkProvider();
 
     QString name() override { return "LanLinkProvider"; }
@@ -81,6 +81,7 @@ private:
     };
     QMap<QSslSocket*, PendingConnect> receivedIdentityPackages;
     QNetworkConfiguration m_lastConfig;
+    const bool mTestMode;
 };
 
 #endif
diff --git a/core/backends/lan/server.cpp b/core/backends/lan/server.cpp
index 3fd9093..4a80191 100644
--- a/core/backends/lan/server.cpp
+++ b/core/backends/lan/server.cpp
@@ -39,6 +39,7 @@ void Server::incomingConnection(qintptr socketDescriptor) {
         pendingConnections.append(serverSocket);
         Q_EMIT newConnection();
     } else {
+        qWarning() << "setSocketDescriptor failed " + serverSocket->errorString();
         delete serverSocket;
     }
 }
diff --git a/tests/lanlinkprovidertest.cpp b/tests/lanlinkprovidertest.cpp
index 965adc1..eb336d0 100644
--- a/tests/lanlinkprovidertest.cpp
+++ b/tests/lanlinkprovidertest.cpp
@@ -39,6 +39,12 @@
 class LanLinkProviderTest : public QObject
 {
     Q_OBJECT
+public:
+    explicit LanLinkProviderTest()
+    : mLanLinkProvider(true) {
+        QStandardPaths::setTestModeEnabled(true);
+    }
+
 public Q_SLOTS:
     void initTestCase();
 
@@ -94,11 +100,12 @@ void LanLinkProviderTest::pairedDeviceTcpPackageReceived()
     addTrustedDevice();
 
     QUdpSocket* mUdpServer = new QUdpSocket;
-    mUdpServer->bind(QHostAddress::Any, 1714, QUdpSocket::ShareAddress);
+    bool b = mUdpServer->bind(QHostAddress::LocalHost, 1714, QUdpSocket::ShareAddress);
+    QVERIFY(b);
 
     QSignalSpy spy(mUdpServer, SIGNAL(readyRead()));
     mLanLinkProvider.onNetworkChange();
-    QVERIFY(spy.wait());
+    QVERIFY(!spy.isEmpty() || spy.wait());
 
     QByteArray datagram;
     datagram.resize(mUdpServer->pendingDatagramSize());
@@ -150,7 +157,7 @@ void LanLinkProviderTest::pairedDeviceUdpPackageReceived()
     mServer = new Server(this);
     mUdpSocket = new QUdpSocket(this);
 
-    mServer->listen(QHostAddress::Any, PORT);
+    mServer->listen(QHostAddress::LocalHost, PORT);
 
     QSignalSpy spy(mServer, SIGNAL(newConnection()));
 
@@ -158,7 +165,7 @@ void LanLinkProviderTest::pairedDeviceUdpPackageReceived()
     QCOMPARE(bytesWritten, mIdentityPackage.size());
 
     // We should have an incoming connection now, wait for incoming connection
-    QVERIFY(spy.wait());
+    QVERIFY(!spy.isEmpty() || spy.wait());
 
     QSslSocket* serverSocket = mServer->nextPendingConnection();
 
@@ -201,11 +208,12 @@ void LanLinkProviderTest::pairedDeviceUdpPackageReceived()
 void LanLinkProviderTest::unpairedDeviceTcpPackageReceived()
 {
     QUdpSocket* mUdpServer = new QUdpSocket;
-    mUdpServer->bind(QHostAddress::Any, 1714, QUdpSocket::ShareAddress);
+    bool b = mUdpServer->bind(QHostAddress::LocalHost, 1714, QUdpSocket::ShareAddress);
+    QVERIFY(b);
 
     QSignalSpy spy(mUdpServer, SIGNAL(readyRead()));
     mLanLinkProvider.onNetworkChange();
-    QVERIFY(spy.wait());
+    QVERIFY(!spy.isEmpty() || spy.wait());
 
     QByteArray datagram;
     datagram.resize(mUdpServer->pendingDatagramSize());
@@ -252,13 +260,13 @@ void LanLinkProviderTest::unpairedDeviceUdpPackageReceived()
     mServer = new Server(this);
     mUdpSocket = new QUdpSocket(this);
 
-    mServer->listen(QHostAddress::Any, PORT);
+    mServer->listen(QHostAddress::LocalHost, PORT);
 
     QSignalSpy spy(mServer, &Server::newConnection);
     qint64 bytesWritten = mUdpSocket->writeDatagram(mIdentityPackage.toLatin1(), QHostAddress::LocalHost, 1714); // write an identity package to udp socket here, we do not broadcast it here
     QCOMPARE(bytesWritten, mIdentityPackage.size());
 
-    QVERIFY(spy.wait());
+    QVERIFY(!spy.isEmpty() || spy.wait());
 
     QSslSocket* serverSocket = mServer->nextPendingConnection();
 

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list