Fix handling of subprocesses for QtDBus unit tests on Windows
The executables are not in the same dir as on Unix, so we need to use QFINDTESTDATA to find them. The DESTDIR setting prevents qmake from placing the executables in a "debug/" subdir. Change-Id: I1d6d10e6f6f109f55fd9809dcf83da0386f38772 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>bb10
parent
3148d0c7b4
commit
36314ae75f
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -491,12 +491,13 @@ 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()));
|
||||
|
||||
WaitForQMyServer w;
|
||||
QVERIFY(w.ok());
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
SOURCES = qpinger.cpp ../interface.cpp
|
||||
HEADERS = ../interface.h
|
||||
TARGET = qpinger
|
||||
DESTDIR = ./
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += console
|
||||
QT = core dbus
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ SOURCES += ../tst_qdbusabstractinterface.cpp ../interface.cpp
|
|||
HEADERS += ../interface.h
|
||||
|
||||
TARGET = ../tst_qdbusabstractinterface
|
||||
DESTDIR = ./
|
||||
|
||||
QT = core testlib
|
||||
QT += dbus
|
||||
|
|
|
|||
|
|
@ -231,12 +231,13 @@ void tst_QDBusAbstractInterface::initTestCase()
|
|||
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()));
|
||||
|
||||
// verify service is now registered
|
||||
QTRY_VERIFY(con.interface()->isServiceRegistered(serviceName));
|
||||
|
|
@ -251,7 +252,11 @@ 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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -266,13 +266,13 @@ 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()));
|
||||
|
||||
WaitForQMyServer w;
|
||||
QVERIFY(w.ok());
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
SOURCES = qpong.cpp
|
||||
TARGET = qpong
|
||||
DESTDIR = ./
|
||||
QT = core dbus
|
||||
CONFIG -= app_bundle
|
||||
CONFIG += console
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
CONFIG += testcase
|
||||
SOURCES += ../tst_qdbusmarshall.cpp
|
||||
TARGET = ../tst_qdbusmarshall
|
||||
DESTDIR = ./
|
||||
|
||||
QT = core-private dbus-private testlib
|
||||
|
||||
|
|
|
|||
|
|
@ -130,13 +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
|
||||
proc.start(QFINDTESTDATA("qpong/qpong" EXE));
|
||||
if (!QDBusConnection::sessionBus().interface()->isServiceRegistered(serviceName)) {
|
||||
QVERIFY(proc.waitForStarted());
|
||||
QVERIFY2(proc.waitForStarted(), qPrintable(proc.errorString()));
|
||||
|
||||
QVERIFY(con.isConnected());
|
||||
con.connect("org.freedesktop.DBus", QString(), "org.freedesktop.DBus", "NameOwnerChanged",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
SOURCES = server.cpp
|
||||
HEADERS = ../serverobject.h
|
||||
TARGET = server
|
||||
DESTDIR = .
|
||||
QT += dbus
|
||||
QT -= gui
|
||||
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
|
||||
|
|
|
|||
|
|
@ -80,11 +80,12 @@ void tst_QDBusPerformance::initTestCase()
|
|||
&QTestEventLoop::instance(), SLOT(exitLoop()));
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
proc.start("server");
|
||||
# define EXE ".exe"
|
||||
#else
|
||||
proc.start("./server/server");
|
||||
# define EXE ""
|
||||
#endif
|
||||
QVERIFY(proc.waitForStarted());
|
||||
proc.start(QFINDTESTDATA("server/server" EXE));
|
||||
QVERIFY2(proc.waitForStarted(), qPrintable(proc.errorString()));
|
||||
|
||||
QTestEventLoop::instance().enterLoop(5);
|
||||
QVERIFY(con.interface()->isServiceRegistered(serviceName));
|
||||
|
|
|
|||
Loading…
Reference in New Issue