diff options
author | Alberto Mardegan <alberto.mardegan@canonical.com> | 2013-07-15 12:12:08 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-16 18:32:14 +0200 |
commit | 9b8b6c7db834fe36f9effdac466decb3cf4a71b7 (patch) | |
tree | a9ea2e3d811350ac9831d3922e766b5ac445d751 /tests/auto/dbus | |
parent | 8493f5d6a343c9a754ce439fed77c7e1a901747e (diff) |
Fix QDBusAbstractInterface::isValid() for peer connections
Do not attempt to lookup the service owner on peer connections (it will
fail).
Make QDBusAbstractInterface::isValid() return a sensible result on peer
connections, instead of always returning false.
Task-number: QTBUG-32374
Change-Id: I1b02feaffb3b255188f8d63306f89f5034a32f22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/dbus')
-rw-r--r-- | tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp index 308e12b9ab..5f3cf539e9 100644 --- a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp +++ b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp @@ -70,12 +70,12 @@ class tst_QDBusAbstractInterface: public QObject return Pinger(new com::trolltech::QtDBus::Pinger(service, path, con)); } - Pinger getPingerPeer(const QString &path = "/") + Pinger getPingerPeer(const QString &path = "/", const QString &service = "") { QDBusConnection con = QDBusConnection("peer"); if (!con.isConnected()) return Pinger(); - return Pinger(new com::trolltech::QtDBus::Pinger("", path, con)); + return Pinger(new com::trolltech::QtDBus::Pinger(service, path, con)); } void resetServer() @@ -197,6 +197,10 @@ private slots: void directPropertyReadErrorsPeer(); void directPropertyWriteErrorsPeer_data(); void directPropertyWriteErrorsPeer(); + + void validity_data(); + void validity(); + private: QProcess proc; }; @@ -1381,5 +1385,23 @@ void tst_QDBusAbstractInterface::directPropertyWriteErrorsPeer() QTEST(p->lastError().name(), "errorName"); } +void tst_QDBusAbstractInterface::validity_data() +{ + QTest::addColumn<QString>("service"); + + QTest::newRow("null-service") << ""; + QTest::newRow("ignored-service") << "org.example.anyservice"; +} + +void tst_QDBusAbstractInterface::validity() +{ + /* Test case for QTBUG-32374 */ + QFETCH(QString, service); + Pinger p = getPingerPeer("/", service); + QVERIFY2(p, "Not connected to D-Bus"); + + QVERIFY(p->isValid()); +} + QTEST_MAIN(tst_QDBusAbstractInterface) #include "tst_qdbusabstractinterface.moc" |