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>
This commit is contained in:
parent
d939dd8791
commit
ab272fff56
4
tests/auto/corelib/kernel/qobject/.gitignore
vendored
4
tests/auto/corelib/kernel/qobject/.gitignore
vendored
@ -1,3 +1,3 @@
|
|||||||
tst_qobject
|
tst_qobject
|
||||||
signalbug
|
signalbug/signalbug
|
||||||
signalbug.exe
|
signalbug/signalbug.exe
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
SUBDIRS = tst_qobject.pro signalbug.pro
|
SUBDIRS = signalbug tst_qobject.pro
|
||||||
CONFIG += parallel_test
|
CONFIG += parallel_test
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
TARGET =
|
|
||||||
DEPENDPATH += .
|
DEPENDPATH += .
|
||||||
INCLUDEPATH += .
|
INCLUDEPATH += .
|
||||||
CONFIG -= app_bundle debug_and_release
|
CONFIG -= app_bundle debug_and_release
|
||||||
DESTDIR=.
|
CONFIG += console
|
||||||
|
DESTDIR = ./
|
||||||
QT -= gui
|
QT -= gui
|
||||||
wince*: {
|
wince*: {
|
||||||
LIBS += coredll.lib
|
LIBS += coredll.lib
|
||||||
@ -13,5 +13,5 @@ HEADERS += signalbug.h
|
|||||||
SOURCES += signalbug.cpp
|
SOURCES += signalbug.cpp
|
||||||
|
|
||||||
# This app is testdata for tst_qobject
|
# This app is testdata for tst_qobject
|
||||||
target.path = $$[QT_INSTALL_TESTS]/tst_qobject
|
target.path = $$[QT_INSTALL_TESTS]/tst_qobject/$$TARGET
|
||||||
INSTALLS += target
|
INSTALLS += target
|
@ -65,6 +65,7 @@ class tst_QObject : public QObject
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
private slots:
|
private slots:
|
||||||
|
void initTestCase();
|
||||||
void disconnect();
|
void disconnect();
|
||||||
void connectByName();
|
void connectByName();
|
||||||
void connectSignalsToSignalsWithDefaultArguments();
|
void connectSignalsToSignalsWithDefaultArguments();
|
||||||
@ -236,6 +237,12 @@ public slots:
|
|||||||
|
|
||||||
int ReceiverObject::sequence = 0;
|
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()
|
void tst_QObject::disconnect()
|
||||||
{
|
{
|
||||||
SenderObject *s = new SenderObject;
|
SenderObject *s = new SenderObject;
|
||||||
@ -2794,7 +2801,9 @@ void tst_QObject::recursiveSignalEmission()
|
|||||||
{
|
{
|
||||||
QProcess proc;
|
QProcess proc;
|
||||||
// signalbug helper app should always be next to this test binary
|
// 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.waitForFinished());
|
||||||
QVERIFY(proc.exitStatus() == QProcess::NormalExit);
|
QVERIFY(proc.exitStatus() == QProcess::NormalExit);
|
||||||
QCOMPARE(proc.exitCode(), 0);
|
QCOMPARE(proc.exitCode(), 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user