summaryrefslogtreecommitdiffstats
path: root/tests/auto/dbus
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-12-29 16:37:38 +0100
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-12-29 16:37:38 +0100
commitaaff94c2df665035addb90714bab4722003894da (patch)
tree3af76e8aa4dbf86a86b1e4d2ad2f6dda06374ee0 /tests/auto/dbus
parent2302d386c7a1aa1a96658f79c236d6b8a59db7ac (diff)
parent1196f691120d77ab3be55f21824aba645210fb8c (diff)
Merge remote-tracking branch 'origin/5.4' into dev
Conflicts: src/corelib/tools/qbytearray.cpp src/gui/kernel/qplatformsystemtrayicon.cpp src/gui/kernel/qplatformsystemtrayicon.h src/plugins/platforms/xcb/xcb-plugin.pro Change-Id: I00355d3908b678af8a61c38f9e814a63df808c79
Diffstat (limited to 'tests/auto/dbus')
-rw-r--r--tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.cpp9
-rw-r--r--tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.pro1
-rw-r--r--tests/auto/dbus/qdbusabstractadaptor/test/test.pro1
-rw-r--r--tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp14
-rw-r--r--tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.cpp9
-rw-r--r--tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro1
-rw-r--r--tests/auto/dbus/qdbusabstractinterface/test/test.pro1
-rw-r--r--tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp60
-rw-r--r--tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp15
-rw-r--r--tests/auto/dbus/qdbusconnection_no_bus/tst_qdbusconnection_no_bus.cpp4
-rw-r--r--tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp9
-rw-r--r--tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.pro1
-rw-r--r--tests/auto/dbus/qdbusinterface/test/test.pro1
-rw-r--r--tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp15
-rw-r--r--tests/auto/dbus/qdbusmarshall/qpong/qpong.cpp1
-rw-r--r--tests/auto/dbus/qdbusmarshall/qpong/qpong.pro1
-rw-r--r--tests/auto/dbus/qdbusmarshall/test/test.pro1
-rw-r--r--tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp22
18 files changed, 94 insertions, 72 deletions
diff --git a/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.cpp b/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.cpp
index b4c16c6fa3..c680d93dab 100644
--- a/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.cpp
+++ b/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.cpp
@@ -44,14 +44,14 @@ QString valueSpy;
Q_DECLARE_METATYPE(QDBusConnection::RegisterOptions)
-class MyServer : public QDBusServer
+class MyServer : public QDBusServer, protected QDBusContext
{
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "org.qtproject.autotests.qmyserver")
public:
- MyServer(QString addr = "unix:tmpdir=/tmp", QObject* parent = 0)
- : QDBusServer(addr, parent),
+ MyServer(QObject* parent = 0)
+ : QDBusServer(parent),
m_conn("none"),
obj(NULL)
{
@@ -67,6 +67,8 @@ public:
public slots:
QString address() const
{
+ if (!QDBusServer::isConnected())
+ sendErrorReply(QDBusServer::lastError().name(), QDBusServer::lastError().message());
return QDBusServer::address();
}
@@ -161,6 +163,7 @@ int main(int argc, char *argv[])
con.registerObject(objectPath, &server, QDBusConnection::ExportAllSlots);
printf("ready.\n");
+ fflush(stdout);
return app.exec();
}
diff --git a/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.pro b/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.pro
index dc480fc88c..ddafd528ee 100644
--- a/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.pro
+++ b/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver.pro
@@ -1,6 +1,7 @@
SOURCES = qmyserver.cpp
HEADERS = ../myobject.h
TARGET = qmyserver
+DESTDIR = ./
QT = core dbus
CONFIG -= app_bundle
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/dbus/qdbusabstractadaptor/test/test.pro b/tests/auto/dbus/qdbusabstractadaptor/test/test.pro
index 0e4dc91128..3d8f885437 100644
--- a/tests/auto/dbus/qdbusabstractadaptor/test/test.pro
+++ b/tests/auto/dbus/qdbusabstractadaptor/test/test.pro
@@ -2,6 +2,7 @@ CONFIG += testcase
SOURCES += ../tst_qdbusabstractadaptor.cpp
HEADERS += ../myobject.h
TARGET = ../tst_qdbusabstractadaptor
+DESTDIR = ./
QT = core core-private dbus testlib
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp b/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp
index 9fe6bc790e..971c939aad 100644
--- a/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp
+++ b/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp
@@ -491,12 +491,14 @@ void tst_QDBusAbstractAdaptor::initTestCase()
commonInit();
// start peer server
- #ifdef Q_OS_WIN
- proc.start("qmyserver");
- #else
- proc.start("./qmyserver/qmyserver");
- #endif
- QVERIFY(proc.waitForStarted());
+#ifdef Q_OS_WIN
+# define EXE ".exe"
+#else
+# define EXE ""
+#endif
+ proc.start(QFINDTESTDATA("qmyserver/qmyserver" EXE));
+ QVERIFY2(proc.waitForStarted(), qPrintable(proc.errorString()));
+ QVERIFY(proc.waitForReadyRead());
WaitForQMyServer w;
QVERIFY(w.ok());
diff --git a/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.cpp b/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.cpp
index 6be61ec9e0..49462d388c 100644
--- a/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.cpp
+++ b/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.cpp
@@ -38,13 +38,13 @@ static const char serviceName[] = "org.qtproject.autotests.qpinger";
static const char objectPath[] = "/org/qtproject/qpinger";
//static const char *interfaceName = serviceName;
-class PingerServer : public QDBusServer
+class PingerServer : public QDBusServer, protected QDBusContext
{
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "org.qtproject.autotests.qpinger")
public:
- PingerServer(QString addr = "unix:tmpdir=/tmp", QObject* parent = 0)
- : QDBusServer(addr, parent),
+ PingerServer(QObject* parent = 0)
+ : QDBusServer(parent),
m_conn("none")
{
connect(this, SIGNAL(newConnection(QDBusConnection)), SLOT(handleConnection(QDBusConnection)));
@@ -54,6 +54,8 @@ public:
public slots:
QString address() const
{
+ if (!QDBusServer::isConnected())
+ sendErrorReply(QDBusServer::lastError().name(), QDBusServer::lastError().message());
return QDBusServer::address();
}
@@ -116,6 +118,7 @@ int main(int argc, char *argv[])
con.registerObject(objectPath, &server, QDBusConnection::ExportAllSlots);
printf("ready.\n");
+ fflush(stdout);
return app.exec();
}
diff --git a/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro b/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro
index 5001ec2cd2..957b47e413 100644
--- a/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro
+++ b/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro
@@ -1,6 +1,7 @@
SOURCES = qpinger.cpp ../interface.cpp
HEADERS = ../interface.h
TARGET = qpinger
+DESTDIR = ./
CONFIG -= app_bundle
CONFIG += console
QT = core dbus
diff --git a/tests/auto/dbus/qdbusabstractinterface/test/test.pro b/tests/auto/dbus/qdbusabstractinterface/test/test.pro
index 223c94866c..afd101455e 100644
--- a/tests/auto/dbus/qdbusabstractinterface/test/test.pro
+++ b/tests/auto/dbus/qdbusabstractinterface/test/test.pro
@@ -3,6 +3,7 @@ SOURCES += ../tst_qdbusabstractinterface.cpp ../interface.cpp
HEADERS += ../interface.h
TARGET = ../tst_qdbusabstractinterface
+DESTDIR = ./
QT = core testlib
QT += dbus
diff --git a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
index 904c1be88f..0cb29d121b 100644
--- a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
+++ b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
@@ -51,6 +51,7 @@ class tst_QDBusAbstractInterface: public QObject
{
Q_OBJECT
Interface targetObj;
+ QString peerAddress;
Pinger getPinger(QString service = "", const QString &path = "/")
{
@@ -81,6 +82,7 @@ public:
private slots:
void initTestCase();
+ void cleanupTestCase();
void init();
void cleanup();
@@ -223,24 +225,20 @@ void tst_QDBusAbstractInterface::initTestCase()
QDBusConnection con = QDBusConnection::sessionBus();
QVERIFY(con.isConnected());
con.registerObject("/", &targetObj, QDBusConnection::ExportScriptableContents);
-}
-
-void tst_QDBusAbstractInterface::init()
-{
- QDBusConnection con = QDBusConnection::sessionBus();
- QVERIFY(con.isConnected());
// verify service isn't registered by something else
// (e.g. a left over qpinger from a previous test run)
QVERIFY(!con.interface()->isServiceRegistered(serviceName));
// start peer server
- #ifdef Q_OS_WIN
- proc.start("qpinger");
- #else
- proc.start("./qpinger/qpinger");
- #endif
- QVERIFY(proc.waitForStarted());
+#ifdef Q_OS_WIN
+# define EXE ".exe"
+#else
+# define EXE ""
+#endif
+ proc.start(QFINDTESTDATA("qpinger/qpinger" EXE));
+ QVERIFY2(proc.waitForStarted(), qPrintable(proc.errorString()));
+ QVERIFY(proc.waitForReadyRead());
// verify service is now registered
QTRY_VERIFY(con.interface()->isServiceRegistered(serviceName));
@@ -249,10 +247,33 @@ void tst_QDBusAbstractInterface::init()
QDBusMessage req = QDBusMessage::createMethodCall(serviceName, objectPath, interfaceName, "address");
QDBusMessage rpl = con.call(req);
QVERIFY(rpl.type() == QDBusMessage::ReplyMessage);
- QString address = rpl.arguments().at(0).toString();
+ peerAddress = rpl.arguments().at(0).toString();
+}
+
+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));
+ }
+}
+
+void tst_QDBusAbstractInterface::init()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QVERIFY(con.isConnected());
// connect to peer server
- QDBusConnection peercon = QDBusConnection::connectToPeer(address, "peer");
+ QDBusConnection peercon = QDBusConnection::connectToPeer(peerAddress, "peer");
QVERIFY(peercon.isConnected());
QDBusMessage req2 = QDBusMessage::createMethodCall(serviceName, objectPath, interfaceName, "isConnected");
@@ -265,20 +286,13 @@ void tst_QDBusAbstractInterface::cleanup()
{
QDBusConnection::disconnectFromPeer("peer");
- // Kill peer, resetting the object exported by a separate process
- proc.terminate();
- QVERIFY(proc.waitForFinished() || proc.state() == QProcess::NotRunning);
-
// Reset the object exported by this process
targetObj.m_stringProp = QString();
targetObj.m_variantProp = QDBusVariant();
targetObj.m_complexProp = RegisteredType();
- // Wait until the service is certainly not registered
- QDBusConnection con = QDBusConnection::sessionBus();
- if (con.isConnected()) {
- QTRY_VERIFY(!con.interface()->isServiceRegistered(serviceName));
- }
+ QDBusMessage resetCall = QDBusMessage::createMethodCall(serviceName, objectPath, interfaceName, "reset");
+ QVERIFY(QDBusConnection::sessionBus().call(resetCall).type() == QDBusMessage::ReplyMessage);
}
void tst_QDBusAbstractInterface::makeVoidCall()
diff --git a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp
index c8d1184226..7e6e742e28 100644
--- a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp
+++ b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp
@@ -296,7 +296,7 @@ void tst_QDBusConnection::connectToPeer()
QVERIFY(con.lastError().isValid());
}
- QDBusServer server("unix:tmpdir=/tmp", 0);
+ QDBusServer server;
{
QDBusConnection con = QDBusConnection::connectToPeer(
@@ -381,9 +381,7 @@ class MyServer : public QDBusServer
{
Q_OBJECT
public:
- MyServer(QString path, QString addr, QObject* parent) : QDBusServer(addr, parent),
- m_path(path),
- m_connections()
+ MyServer(QString path) : m_path(path), m_connections()
{
connect(this, SIGNAL(newConnection(QDBusConnection)), SLOT(handleConnection(QDBusConnection)));
}
@@ -446,7 +444,7 @@ void tst_QDBusConnection::registerObjectPeer()
{
QFETCH(QString, path);
- MyServer server(path, "unix:tmpdir=/tmp", 0);
+ MyServer server(path);
QDBusConnection::connectToPeer(server.address(), "beforeFoo");
@@ -594,8 +592,7 @@ class MyServer2 : public QDBusServer
{
Q_OBJECT
public:
- MyServer2(QString addr, QObject* parent) : QDBusServer(addr, parent),
- m_conn("none")
+ MyServer2() : m_conn("none")
{
connect(this, SIGNAL(newConnection(QDBusConnection)), SLOT(handleConnection(QDBusConnection)));
}
@@ -620,7 +617,7 @@ private:
void tst_QDBusConnection::registerObjectPeer2()
{
- MyServer2 server("unix:tmpdir=/tmp", 0);
+ MyServer2 server;
QDBusConnection con = QDBusConnection::connectToPeer(server.address(), "foo");
QCoreApplication::processEvents();
QVERIFY(con.isConnected());
@@ -775,7 +772,7 @@ void tst_QDBusConnection::registerQObjectChildren()
void tst_QDBusConnection::registerQObjectChildrenPeer()
{
- MyServer2 server("unix:tmpdir=/tmp", 0);
+ MyServer2 server;
QDBusConnection con = QDBusConnection::connectToPeer(server.address(), "foo");
QCoreApplication::processEvents();
QVERIFY(con.isConnected());
diff --git a/tests/auto/dbus/qdbusconnection_no_bus/tst_qdbusconnection_no_bus.cpp b/tests/auto/dbus/qdbusconnection_no_bus/tst_qdbusconnection_no_bus.cpp
index 2c5ca71990..3d7e477f47 100644
--- a/tests/auto/dbus/qdbusconnection_no_bus/tst_qdbusconnection_no_bus.cpp
+++ b/tests/auto/dbus/qdbusconnection_no_bus/tst_qdbusconnection_no_bus.cpp
@@ -51,8 +51,8 @@ class tst_QDBusConnectionNoBus : public QObject
public:
tst_QDBusConnectionNoBus()
{
- ::setenv("DBUS_SESSION_BUS_ADDRESS", "unix:abstract=/tmp/does_not_exist", 1);
- ::setenv("QT_SIMULATE_DBUS_LIBFAIL", "1", 1);
+ qputenv("DBUS_SESSION_BUS_ADDRESS", "unix:abstract=/tmp/does_not_exist");
+ qputenv("QT_SIMULATE_DBUS_LIBFAIL", "1");
}
private slots:
diff --git a/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp b/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp
index df131f13f6..7a22fe90ad 100644
--- a/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp
+++ b/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp
@@ -42,14 +42,14 @@ static const char objectPath[] = "/org/qtproject/qmyserver";
int MyObject::callCount = 0;
QVariantList MyObject::callArgs;
-class MyServer : public QDBusServer
+class MyServer : public QDBusServer, protected QDBusContext
{
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "org.qtproject.autotests.qmyserver")
public:
- MyServer(QString addr = "unix:tmpdir=/tmp", QObject* parent = 0)
- : QDBusServer(addr, parent),
+ MyServer(QObject* parent = 0)
+ : QDBusServer(parent),
m_conn("none")
{
connect(this, SIGNAL(newConnection(QDBusConnection)), SLOT(handleConnection(QDBusConnection)));
@@ -58,6 +58,8 @@ public:
public slots:
QString address() const
{
+ if (!QDBusServer::isConnected())
+ sendErrorReply(QDBusServer::lastError().name(), QDBusServer::lastError().message());
return QDBusServer::address();
}
@@ -140,6 +142,7 @@ int main(int argc, char *argv[])
con.registerObject(objectPath, &server, QDBusConnection::ExportAllSlots);
printf("ready.\n");
+ fflush(stdout);
return app.exec();
}
diff --git a/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.pro b/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.pro
index dc480fc88c..ddafd528ee 100644
--- a/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.pro
+++ b/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.pro
@@ -1,6 +1,7 @@
SOURCES = qmyserver.cpp
HEADERS = ../myobject.h
TARGET = qmyserver
+DESTDIR = ./
QT = core dbus
CONFIG -= app_bundle
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/dbus/qdbusinterface/test/test.pro b/tests/auto/dbus/qdbusinterface/test/test.pro
index ba70273aab..70e631de9c 100644
--- a/tests/auto/dbus/qdbusinterface/test/test.pro
+++ b/tests/auto/dbus/qdbusinterface/test/test.pro
@@ -2,6 +2,7 @@ CONFIG += testcase
SOURCES += ../tst_qdbusinterface.cpp
HEADERS += ../myobject.h
TARGET = ../tst_qdbusinterface
+DESTDIR = ./
QT = core core-private dbus testlib
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp b/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp
index e66b1134d4..04992c9f28 100644
--- a/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp
+++ b/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp
@@ -266,13 +266,14 @@ void tst_QDBusInterface::initTestCase()
| QDBusConnection::ExportAllSlots
| QDBusConnection::ExportAllInvokables);
- // start peer server
- #ifdef Q_OS_WIN
- proc.start("qmyserver");
- #else
- proc.start("./qmyserver/qmyserver");
- #endif
- QVERIFY(proc.waitForStarted());
+#ifdef Q_OS_WIN
+# define EXE ".exe"
+#else
+# define EXE ""
+#endif
+ proc.start(QFINDTESTDATA("qmyserver/qmyserver" EXE));
+ QVERIFY2(proc.waitForStarted(), qPrintable(proc.errorString()));
+ QVERIFY(proc.waitForReadyRead());
WaitForQMyServer w;
QVERIFY(w.ok());
diff --git a/tests/auto/dbus/qdbusmarshall/qpong/qpong.cpp b/tests/auto/dbus/qdbusmarshall/qpong/qpong.cpp
index 5476dd7f8e..bb8aab3d21 100644
--- a/tests/auto/dbus/qdbusmarshall/qpong/qpong.cpp
+++ b/tests/auto/dbus/qdbusmarshall/qpong/qpong.cpp
@@ -66,6 +66,7 @@ int main(int argc, char *argv[])
con.registerObject(objectPath, &pong, QDBusConnection::ExportAllSlots);
printf("ready.\n");
+ fflush(stdout);
return app.exec();
}
diff --git a/tests/auto/dbus/qdbusmarshall/qpong/qpong.pro b/tests/auto/dbus/qdbusmarshall/qpong/qpong.pro
index ffc538f2ab..a4c5efba85 100644
--- a/tests/auto/dbus/qdbusmarshall/qpong/qpong.pro
+++ b/tests/auto/dbus/qdbusmarshall/qpong/qpong.pro
@@ -1,5 +1,6 @@
SOURCES = qpong.cpp
TARGET = qpong
+DESTDIR = ./
QT = core dbus
CONFIG -= app_bundle
CONFIG += console
diff --git a/tests/auto/dbus/qdbusmarshall/test/test.pro b/tests/auto/dbus/qdbusmarshall/test/test.pro
index 5c67bfc624..658cc52fde 100644
--- a/tests/auto/dbus/qdbusmarshall/test/test.pro
+++ b/tests/auto/dbus/qdbusmarshall/test/test.pro
@@ -1,6 +1,7 @@
CONFIG += testcase
SOURCES += ../tst_qdbusmarshall.cpp
TARGET = ../tst_qdbusmarshall
+DESTDIR = ./
QT = core-private dbus-private testlib
diff --git a/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp b/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp
index 972205566a..4d12522a68 100644
--- a/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp
+++ b/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp
@@ -130,25 +130,15 @@ void tst_QDBusMarshall::initTestCase()
commonInit();
QDBusConnection con = QDBusConnection::sessionBus();
fileDescriptorPassing = con.connectionCapabilities() & QDBusConnection::UnixFileDescriptorPassing;
+
#ifdef Q_OS_WIN
- proc.start("qpong");
+# define EXE ".exe"
#else
- proc.start("./qpong/qpong");
+# define EXE ""
#endif
- if (!QDBusConnection::sessionBus().interface()->isServiceRegistered(serviceName)) {
- QVERIFY(proc.waitForStarted());
-
- QVERIFY(con.isConnected());
- con.connect("org.freedesktop.DBus", QString(), "org.freedesktop.DBus", "NameOwnerChanged",
- QStringList() << serviceName << QString(""), QString(),
- &QTestEventLoop::instance(), SLOT(exitLoop()));
- QTestEventLoop::instance().enterLoop(2);
- QVERIFY(!QTestEventLoop::instance().timeout());
- QVERIFY(QDBusConnection::sessionBus().interface()->isServiceRegistered(serviceName));
- con.disconnect("org.freedesktop.DBus", QString(), "org.freedesktop.DBus", "NameOwnerChanged",
- QStringList() << serviceName << QString(""), QString(),
- &QTestEventLoop::instance(), SLOT(exitLoop()));
- }
+ proc.start(QFINDTESTDATA("qpong/qpong" EXE));
+ QVERIFY2(proc.waitForStarted(), qPrintable(proc.errorString()));
+ QVERIFY(proc.waitForReadyRead());
}
void tst_QDBusMarshall::cleanupTestCase()