Test: remove QSKIP from tst_qtconcurrent
authorCaroline Chao <caroline.chao@digia.com>
Wed, 17 Oct 2012 08:02:57 +0000 (10:02 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Wed, 17 Oct 2012 19:05:27 +0000 (21:05 +0200)
Instead omit the whole tests when appropriate.

Change-Id: I3a22d010b658e54d7d234b786173c62977a50c7d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp

index f3f4be3..acb4840 100644 (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"