summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-12-12 16:28:30 +0100
committerQt by Nokia <qt-info@nokia.com>2011-12-14 07:07:09 +0100
commitab272fff56be6a7f37d30943c2927ceb32a409f3 (patch)
tree8d574b16e3c55252a4f41a9e357febda2e65c054 /tests
parentd939dd8791134a41d36196213f463660a1c87421 (diff)
QObject-test: Reorganize subprocess.
On Windows, the signalbug.exe could not be launched since it is not next to tst_qobject.exe, which is in one of the 'release', 'debug' subfolders. Introduce a subdirectory structure similar to that of the QProcess test and use QFINDTESTDATA to locate it. Change-Id: Ie8f2ede8cb76f22a908cb77517a74076be11fbb7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/kernel/qobject/.gitignore4
-rw-r--r--tests/auto/corelib/kernel/qobject/qobject.pro2
-rw-r--r--tests/auto/corelib/kernel/qobject/signalbug/signalbug.cpp (renamed from tests/auto/corelib/kernel/qobject/signalbug.cpp)0
-rw-r--r--tests/auto/corelib/kernel/qobject/signalbug/signalbug.h (renamed from tests/auto/corelib/kernel/qobject/signalbug.h)0
-rw-r--r--tests/auto/corelib/kernel/qobject/signalbug/signalbug.pro (renamed from tests/auto/corelib/kernel/qobject/signalbug.pro)6
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp11
6 files changed, 16 insertions, 7 deletions
diff --git a/tests/auto/corelib/kernel/qobject/.gitignore b/tests/auto/corelib/kernel/qobject/.gitignore
index ea4d6d7f06..7970e32c8f 100644
--- a/tests/auto/corelib/kernel/qobject/.gitignore
+++ b/tests/auto/corelib/kernel/qobject/.gitignore
@@ -1,3 +1,3 @@
tst_qobject
-signalbug
-signalbug.exe
+signalbug/signalbug
+signalbug/signalbug.exe
diff --git a/tests/auto/corelib/kernel/qobject/qobject.pro b/tests/auto/corelib/kernel/qobject/qobject.pro
index 113e14a61d..ee48f56b1d 100644
--- a/tests/auto/corelib/kernel/qobject/qobject.pro
+++ b/tests/auto/corelib/kernel/qobject/qobject.pro
@@ -1,3 +1,3 @@
TEMPLATE = subdirs
-SUBDIRS = tst_qobject.pro signalbug.pro
+SUBDIRS = signalbug tst_qobject.pro
CONFIG += parallel_test
diff --git a/tests/auto/corelib/kernel/qobject/signalbug.cpp b/tests/auto/corelib/kernel/qobject/signalbug/signalbug.cpp
index 0465373e40..0465373e40 100644
--- a/tests/auto/corelib/kernel/qobject/signalbug.cpp
+++ b/tests/auto/corelib/kernel/qobject/signalbug/signalbug.cpp
diff --git a/tests/auto/corelib/kernel/qobject/signalbug.h b/tests/auto/corelib/kernel/qobject/signalbug/signalbug.h
index 4292d70063..4292d70063 100644
--- a/tests/auto/corelib/kernel/qobject/signalbug.h
+++ b/tests/auto/corelib/kernel/qobject/signalbug/signalbug.h
diff --git a/tests/auto/corelib/kernel/qobject/signalbug.pro b/tests/auto/corelib/kernel/qobject/signalbug/signalbug.pro
index ed3adf0242..19d36a63a1 100644
--- a/tests/auto/corelib/kernel/qobject/signalbug.pro
+++ b/tests/auto/corelib/kernel/qobject/signalbug/signalbug.pro
@@ -1,9 +1,9 @@
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG -= app_bundle debug_and_release
-DESTDIR=.
+CONFIG += console
+DESTDIR = ./
QT -= gui
wince*: {
LIBS += coredll.lib
@@ -13,5 +13,5 @@ HEADERS += signalbug.h
SOURCES += signalbug.cpp
# This app is testdata for tst_qobject
-target.path = $$[QT_INSTALL_TESTS]/tst_qobject
+target.path = $$[QT_INSTALL_TESTS]/tst_qobject/$$TARGET
INSTALLS += target
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index 8f938a79fe..05b9229c3d 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -65,6 +65,7 @@ class tst_QObject : public QObject
{
Q_OBJECT
private slots:
+ void initTestCase();
void disconnect();
void connectByName();
void connectSignalsToSignalsWithDefaultArguments();
@@ -236,6 +237,12 @@ public slots:
int ReceiverObject::sequence = 0;
+void tst_QObject::initTestCase()
+{
+ const QString testDataDir = QFileInfo(QFINDTESTDATA("signalbug")).absolutePath();
+ QVERIFY2(QDir::setCurrent(testDataDir), qPrintable("Could not chdir to " + testDataDir));
+}
+
void tst_QObject::disconnect()
{
SenderObject *s = new SenderObject;
@@ -2794,7 +2801,9 @@ void tst_QObject::recursiveSignalEmission()
{
QProcess proc;
// signalbug helper app should always be next to this test binary
- proc.start(QCoreApplication::applicationDirPath() + "/signalbug");
+ const QString path = QStringLiteral("signalbug/signalbug");
+ proc.start(path);
+ QVERIFY2(proc.waitForStarted(), qPrintable(QString::fromLatin1("Cannot start '%1': %2").arg(path, proc.errorString())));
QVERIFY(proc.waitForFinished());
QVERIFY(proc.exitStatus() == QProcess::NormalExit);
QCOMPARE(proc.exitCode(), 0);