summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-12-11 17:42:49 -0800
committerThiago Macieira <thiago.macieira@intel.com>2014-12-20 07:37:12 +0100
commit36314ae75f2f13b6c93252dc2c93592bc0624296 (patch)
tree392041c334bebd46934ff4384ac776b380ea2a97 /tests
parent3148d0c7b403af1bd74a2082cdde61e6974b38c1 (diff)
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>
Diffstat (limited to 'tests')
-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.cpp13
-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.cpp17
-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.cpp14
-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.cpp8
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/server/server.pro1
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp7
14 files changed, 43 insertions, 25 deletions
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..2fdba4f7e1 100644
--- a/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp
+++ b/tests/auto/dbus/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp
@@ -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());
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 3ea2d939d9..6ab5e5ff61 100644
--- a/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
+++ b/tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
@@ -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
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..81e3aa3292 100644
--- a/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp
+++ b/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp
@@ -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());
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..0d9fba3e1f 100644
--- a/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp
+++ b/tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp
@@ -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",
diff --git a/tests/benchmarks/dbus/qdbusperformance/server/server.pro b/tests/benchmarks/dbus/qdbusperformance/server/server.pro
index b38623b099..c913e90afb 100644
--- a/tests/benchmarks/dbus/qdbusperformance/server/server.pro
+++ b/tests/benchmarks/dbus/qdbusperformance/server/server.pro
@@ -1,6 +1,7 @@
SOURCES = server.cpp
HEADERS = ../serverobject.h
TARGET = server
+DESTDIR = .
QT += dbus
QT -= gui
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp b/tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp
index 5b3be02c33..eff69fe24d 100644
--- a/tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp
+++ b/tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp
@@ -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));