From c5ec39b6cc00d5a923e32e4858c944cda958b870 Mon Sep 17 00:00:00 2001 From: Caroline Chao Date: Wed, 17 Oct 2012 10:02:57 +0200 Subject: [PATCH] Test: remove QSKIP from tst_qtconcurrent Instead omit the whole tests when appropriate. Change-Id: I3a22d010b658e54d7d234b786173c62977a50c7d Reviewed-by: J-P Nurmi --- .../qtconcurrentrun/tst_qtconcurrentrun.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp b/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp index f3f4be3f3fe..acb4840ca84 100644 --- a/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp +++ b/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp @@ -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 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"