Test: remove QSKIP from tst_qtconcurrent

Instead omit the whole tests when appropriate.

Change-Id: I3a22d010b658e54d7d234b786173c62977a50c7d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
This commit is contained in:
Caroline Chao 2012-10-17 10:02:57 +02:00 committed by The Qt Project
parent 048b697c07
commit c5ec39b6cc

View File

@ -60,8 +60,12 @@ private slots:
#ifndef QT_NO_EXCEPTIONS
void exceptions();
#endif
#ifdef Q_COMPILER_DECLTYPE
void functor();
#endif
#ifdef Q_COMPILER_LAMBDA
void lambda();
#endif
};
void light()
@ -398,6 +402,8 @@ void tst_QtConcurrentRun::exceptions()
}
#endif
#ifdef Q_COMPILER_DECLTYPE
// Compiler supports decltype
struct Functor {
int operator()() { return 42; }
double operator()(double a, double b) { return a/b; }
@ -412,9 +418,6 @@ struct Functor {
// This tests functor without result_type; decltype need to be supported by the compiler.
void tst_QtConcurrentRun::functor()
{
#ifndef Q_COMPILER_DECLTYPE
QSKIP("Compiler does not support decltype");
#else
Functor f;
{
QFuture<int> fut = QtConcurrent::run(f);
@ -435,14 +438,13 @@ void tst_QtConcurrentRun::functor()
QtConcurrent::run(f, 1,2,3,4).waitForFinished();
QtConcurrent::run(f, 1,2,3,4,5).waitForFinished();
}
#endif
}
#endif
#ifdef Q_COMPILER_LAMBDA
// Compiler supports lambda
void tst_QtConcurrentRun::lambda()
{
#ifndef Q_COMPILER_LAMBDA
QSKIP("Compiler does not support lambda");
#else
QCOMPARE(QtConcurrent::run([](){ return 45; }).result(), 45);
QCOMPARE(QtConcurrent::run([](int a){ return a+15; }, 12).result(), 12+15);
QCOMPARE(QtConcurrent::run([](int a, double b){ return a + b; }, 12, 15).result(), double(12+15));
@ -456,8 +458,8 @@ void tst_QtConcurrentRun::lambda()
QCOMPARE(r, QStringList({"Hello", "World", "Foo"}));
}
#endif
#endif
}
#endif
QTEST_MAIN(tst_QtConcurrentRun)
#include "tst_qtconcurrentrun.moc"