summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel
diff options
context:
space:
mode:
authorMarko Kangas <marko.kangas@theqtcompany.com>2015-02-13 13:01:57 +0200
committerMarko Kangas <marko.kangas@theqtcompany.com>2015-03-16 09:34:15 +0000
commitbc69fd1dfe30876909091d93a07640a498a24c0c (patch)
tree6af7b94832fcd5c596e54338266d43772ca152e6 /tests/auto/corelib/kernel
parentf1b3244ac16cd5b306450c53fcbd4ee673bfe53b (diff)
Skip instead of entirely excluding tests with disabled features
Properly QSKIP tests that use disabled QProcess and symlink features instead of excluding them silently by #ifdef. Other reason is that moc doesn't respect QT_NO_* defines in class definition which causes build issues on some platforms. Change-Id: I041020f7452f7d36c7ec8a5866a4ba5eb23d1f94 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Jason McDonald <macadder1@gmail.com>
Diffstat (limited to 'tests/auto/corelib/kernel')
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp8
-rw-r--r--tests/auto/corelib/kernel/qsharedmemory/test/tst_qsharedmemory.cpp18
-rw-r--r--tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp20
3 files changed, 32 insertions, 14 deletions
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index 24cfe8f3bc..94242607f0 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -91,9 +91,7 @@ private slots:
void floatProperty();
void qrealProperty();
void property();
-#ifndef QT_NO_PROCESS
void recursiveSignalEmission();
-#endif
void signalBlocking();
void blockingQueuedConnection();
void childEvents();
@@ -2981,9 +2979,11 @@ void tst_QObject::dynamicProperties()
QVERIFY(obj.dynamicPropertyNames().isEmpty());
}
-#ifndef QT_NO_PROCESS
void tst_QObject::recursiveSignalEmission()
{
+#ifdef QT_NO_PROCESS
+ QSKIP("No qprocess support", SkipAll);
+#else
QProcess proc;
// signalbug helper app should always be next to this test binary
const QString path = QStringLiteral("signalbug/signalbug");
@@ -2992,8 +2992,8 @@ void tst_QObject::recursiveSignalEmission()
QVERIFY(proc.waitForFinished());
QVERIFY(proc.exitStatus() == QProcess::NormalExit);
QCOMPARE(proc.exitCode(), 0);
-}
#endif
+}
void tst_QObject::signalBlocking()
{
diff --git a/tests/auto/corelib/kernel/qsharedmemory/test/tst_qsharedmemory.cpp b/tests/auto/corelib/kernel/qsharedmemory/test/tst_qsharedmemory.cpp
index 5a92c2f0cb..26bb70fc66 100644
--- a/tests/auto/corelib/kernel/qsharedmemory/test/tst_qsharedmemory.cpp
+++ b/tests/auto/corelib/kernel/qsharedmemory/test/tst_qsharedmemory.cpp
@@ -74,7 +74,7 @@ private slots:
void removeWhileAttached();
#endif
void emptyMemory();
-#if !defined(Q_OS_WIN) && !defined(QT_NO_PROCESS)
+#if !defined(Q_OS_WIN)
void readOnly();
#endif
@@ -90,10 +90,8 @@ private slots:
void simpleThreadedProducerConsumer();
// with processes
-#ifndef QT_NO_PROCESS
void simpleProcessProducerConsumer_data();
void simpleProcessProducerConsumer();
-#endif
// extreme cases
void useTooMuchMemory();
@@ -457,9 +455,12 @@ void tst_QSharedMemory::emptyMemory()
by writing to data and causing a segfault.
*/
// This test opens a crash dialog on Windows.
-#if !defined(Q_OS_WIN) && !defined(QT_NO_PROCESS)
+#if !defined(Q_OS_WIN)
void tst_QSharedMemory::readOnly()
{
+#ifdef QT_NO_PROCESS
+ QSKIP("No qprocess support", SkipAll);
+#else
rememberKey("readonly_segfault");
// ### on windows disable the popup somehow
QProcess p;
@@ -467,6 +468,7 @@ void tst_QSharedMemory::readOnly()
p.setProcessChannelMode(QProcess::ForwardedChannels);
p.waitForFinished();
QCOMPARE(p.error(), QProcess::Crashed);
+#endif
}
#endif
@@ -738,15 +740,16 @@ void tst_QSharedMemory::simpleThreadedProducerConsumer()
}
}
-#ifndef QT_NO_PROCESS
void tst_QSharedMemory::simpleProcessProducerConsumer_data()
{
+#ifndef QT_NO_PROCESS
QTest::addColumn<int>("processes");
int tries = 5;
for (int i = 0; i < tries; ++i) {
QTest::newRow("1 process") << 1;
QTest::newRow("5 processes") << 5;
}
+#endif
}
/*!
@@ -754,6 +757,9 @@ void tst_QSharedMemory::simpleProcessProducerConsumer_data()
*/
void tst_QSharedMemory::simpleProcessProducerConsumer()
{
+#ifdef QT_NO_PROCESS
+ QSKIP("No qprocess support", SkipAll);
+#else
QFETCH(int, processes);
QSKIP("This test is unstable: QTBUG-25655");
@@ -797,8 +803,8 @@ void tst_QSharedMemory::simpleProcessProducerConsumer()
producer.write("", 1);
producer.waitForBytesWritten();
QVERIFY(producer.waitForFinished(5000));
-}
#endif
+}
void tst_QSharedMemory::uniqueKey_data()
{
diff --git a/tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp b/tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp
index b2198e9267..169a13aff2 100644
--- a/tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp
+++ b/tests/auto/corelib/kernel/qsystemsemaphore/test/tst_qsystemsemaphore.cpp
@@ -59,7 +59,6 @@ private slots:
void complexacquire();
void release();
-#ifndef QT_NO_PROCESS
void basicProcesses();
void processes_data();
@@ -69,7 +68,6 @@ private slots:
void undo();
#endif
void initialValue();
-#endif // QT_NO_PROCESS
private:
static QString helperBinary();
@@ -177,9 +175,11 @@ void tst_QSystemSemaphore::release()
QCOMPARE(sem.errorString(), QString());
}
-#ifndef QT_NO_PROCESS
void tst_QSystemSemaphore::basicProcesses()
{
+#ifdef QT_NO_PROCESS
+ QSKIP("No qprocess support", SkipAll);
+#else
QSystemSemaphore sem("store", 0, QSystemSemaphore::Create);
QProcess acquire;
@@ -198,6 +198,7 @@ void tst_QSystemSemaphore::basicProcesses()
acquire.waitForFinished(HELPERWAITTIME);
release.waitForFinished(HELPERWAITTIME);
QVERIFY(acquire.state() == QProcess::NotRunning);
+#endif
}
void tst_QSystemSemaphore::processes_data()
@@ -212,6 +213,9 @@ void tst_QSystemSemaphore::processes_data()
void tst_QSystemSemaphore::processes()
{
+#ifdef QT_NO_PROCESS
+ QSKIP("No qprocess support", SkipAll);
+#else
QSystemSemaphore sem("store", 1, QSystemSemaphore::Create);
QFETCH(int, processes);
@@ -231,12 +235,16 @@ void tst_QSystemSemaphore::processes()
QCOMPARE(consumers.first()->exitCode(), 0);
delete consumers.takeFirst();
}
+#endif
}
// This test only checks a system v unix behavior.
#if !defined(Q_OS_WIN) && !defined(QT_POSIX_IPC)
void tst_QSystemSemaphore::undo()
{
+#ifdef QT_NO_PROCESS
+ QSKIP("No qprocess support", SkipAll);
+#else
QSystemSemaphore sem("store", 1, QSystemSemaphore::Create);
QStringList acquireArguments = QStringList("acquire");
@@ -253,11 +261,15 @@ void tst_QSystemSemaphore::undo()
QVERIFY2(acquire.waitForStarted(), "Could not start helper binary");
acquire.waitForFinished(HELPERWAITTIME);
QVERIFY(acquire.state()== QProcess::NotRunning);
+#endif
}
#endif
void tst_QSystemSemaphore::initialValue()
{
+#ifdef QT_NO_PROCESS
+ QSKIP("No qprocess support", SkipAll);
+#else
QSystemSemaphore sem("store", 1, QSystemSemaphore::Create);
QStringList acquireArguments = QStringList("acquire");
@@ -284,8 +296,8 @@ void tst_QSystemSemaphore::initialValue()
acquire.waitForFinished(HELPERWAITTIME);
release.waitForFinished(HELPERWAITTIME);
QVERIFY(acquire.state()== QProcess::NotRunning);
-}
#endif
+}
QString tst_QSystemSemaphore::helperBinary()
{