diff options
8 files changed, 32 insertions, 17 deletions
diff --git a/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.cpp b/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.cpp index c680d93dab..76e9332d98 100644 --- a/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.cpp +++ b/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.cpp @@ -133,6 +133,11 @@ public slots: valueSpy.clear(); } + void quit() + { + qApp->quit(); + } + signals: Q_SCRIPTABLE void syncReceived(const QString &sequence); diff --git a/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp b/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp index 971c939aad..736ee656f5 100644 --- a/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp +++ b/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp @@ -521,8 +521,10 @@ void tst_QDBusAbstractAdaptor::initTestCase() void tst_QDBusAbstractAdaptor::cleanupTestCase() { + QDBusMessage msg = QDBusMessage::createMethodCall(serviceName, objectPath, interfaceName, "quit"); + QDBusConnection::sessionBus().call(msg); + proc.waitForFinished(200); proc.close(); - proc.kill(); } void tst_QDBusAbstractAdaptor::methodCalls_data() diff --git a/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.cpp b/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.cpp index 49462d388c..900faeb68e 100644 --- a/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.cpp +++ b/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.cpp @@ -87,6 +87,11 @@ public slots: emit targetObj.complexSignal(reg); } + void quit() + { + qApp->quit(); + } + private slots: void handleConnection(const QDBusConnection& con) { diff --git a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp index 0cb29d121b..78b8054344 100644 --- a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp +++ b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp @@ -252,19 +252,10 @@ void tst_QDBusAbstractInterface::initTestCase() void tst_QDBusAbstractInterface::cleanupTestCase() { - // Kill peer, resetting the object exported by a separate process -#ifdef Q_OS_WIN - proc.kill(); // non-GUI processes don't respond to QProcess::terminate() -#else - proc.terminate(); -#endif - QVERIFY(proc.waitForFinished() || proc.state() == QProcess::NotRunning); - - // Wait until the service is certainly not registered - QDBusConnection con = QDBusConnection::sessionBus(); - if (con.isConnected()) { - QTRY_VERIFY(!con.interface()->isServiceRegistered(serviceName)); - } + QDBusMessage msg = QDBusMessage::createMethodCall(serviceName, objectPath, interfaceName, "quit"); + QDBusConnection::sessionBus().call(msg); + proc.waitForFinished(200); + proc.close(); } void tst_QDBusAbstractInterface::init() diff --git a/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp b/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp index 7a22fe90ad..3ef08ff741 100644 --- a/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp +++ b/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp @@ -112,6 +112,10 @@ public slots: return obj.m_complexProp; } + void quit() + { + qApp->quit(); + } private slots: void handleConnection(const QDBusConnection& con) diff --git a/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp b/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp index 04992c9f28..9b2c25bdd5 100644 --- a/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp +++ b/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp @@ -297,8 +297,10 @@ void tst_QDBusInterface::initTestCase() void tst_QDBusInterface::cleanupTestCase() { + QDBusMessage msg = QDBusMessage::createMethodCall(serviceName, objectPath, interfaceName, "quit"); + QDBusConnection::sessionBus().call(msg); + proc.waitForFinished(200); proc.close(); - proc.kill(); } void tst_QDBusInterface::notConnected() diff --git a/tests/auto/dbus/qdbusmarshall/qpong/qpong.cpp b/tests/auto/dbus/qdbusmarshall/qpong/qpong.cpp index bb8aab3d21..11cd4f05ce 100644 --- a/tests/auto/dbus/qdbusmarshall/qpong/qpong.cpp +++ b/tests/auto/dbus/qdbusmarshall/qpong/qpong.cpp @@ -49,6 +49,11 @@ public slots: if (!QDBusConnection::sessionBus().send(msg.createReply(msg.arguments()))) exit(1); } + + void quit() + { + qApp->quit(); + } }; int main(int argc, char *argv[]) diff --git a/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp b/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp index 4d12522a68..0ab03e7dd8 100644 --- a/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp +++ b/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp @@ -143,9 +143,10 @@ void tst_QDBusMarshall::initTestCase() void tst_QDBusMarshall::cleanupTestCase() { - proc.close(); - proc.terminate(); + QDBusMessage msg = QDBusMessage::createMethodCall(serviceName, objectPath, interfaceName, "quit"); + QDBusConnection::sessionBus().call(msg); proc.waitForFinished(200); + proc.close(); } int tst_QDBusMarshall::fileDescriptorForTest() |