diff options
Diffstat (limited to 'tests/auto/corelib/thread/qpromise/tst_qpromise.cpp')
-rw-r--r-- | tests/auto/corelib/thread/qpromise/tst_qpromise.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp b/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp index bbac6e200e..2068915896 100644 --- a/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp +++ b/tests/auto/corelib/thread/qpromise/tst_qpromise.cpp @@ -86,6 +86,7 @@ do { \ QFAIL("Test case " #test "(" #__VA_ARGS__ ") failed"); \ } while (false) +#if QT_CONFIG(cxx11_future) // std::thread-like wrapper that ensures that the thread is joined at the end of // a scope to prevent potential std::terminate struct ThreadWrapper @@ -102,6 +103,7 @@ struct ThreadWrapper t->wait(); } }; +#endif void tst_QPromise::promise() { @@ -342,6 +344,7 @@ void tst_QPromise::progress() void tst_QPromise::addInThread() { +#if QT_CONFIG(cxx11_future) const auto testAddResult = [] (auto promise, const auto &result) { promise.start(); auto f = promise.future(); @@ -357,10 +360,12 @@ void tst_QPromise::addInThread() RUN_TEST_FUNC(testAddResult, QPromise<int>(), 42); RUN_TEST_FUNC(testAddResult, QPromise<QString>(), u8"42"); RUN_TEST_FUNC(testAddResult, QPromise<CopyOnlyType>(), CopyOnlyType{99}); +#endif } void tst_QPromise::addInThreadMoveOnlyObject() { +#if QT_CONFIG(cxx11_future) QPromise<MoveOnlyType> promise; promise.start(); auto f = promise.future(); @@ -372,10 +377,12 @@ void tst_QPromise::addInThreadMoveOnlyObject() // Iterators wait for result first for (auto& result : f) QCOMPARE(result, MoveOnlyType{-11}); +#endif } void tst_QPromise::reportFromMultipleThreads() { +#if QT_CONFIG(cxx11_future) QPromise<int> promise; auto f = promise.future(); promise.start(); @@ -394,10 +401,12 @@ void tst_QPromise::reportFromMultipleThreads() QVERIFY(std::find(expected.begin(), expected.end(), actual) != expected.end()); expected.removeOne(actual); } +#endif } void tst_QPromise::reportFromMultipleThreadsByMovedPromise() { +#if QT_CONFIG(cxx11_future) QPromise<int> initialPromise; auto f = initialPromise.future(); { @@ -424,10 +433,12 @@ void tst_QPromise::reportFromMultipleThreadsByMovedPromise() QVERIFY(std::find(expected.begin(), expected.end(), actual) != expected.end()); expected.removeOne(actual); } +#endif } void tst_QPromise::doNotCancelWhenFinished() { +#if QT_CONFIG(cxx11_future) const auto testFinishedPromise = [] (auto promise) { auto f = promise.future(); promise.start(); @@ -446,11 +457,13 @@ void tst_QPromise::doNotCancelWhenFinished() RUN_TEST_FUNC(testFinishedPromise, QPromise<QString>()); RUN_TEST_FUNC(testFinishedPromise, QPromise<CopyOnlyType>()); RUN_TEST_FUNC(testFinishedPromise, QPromise<MoveOnlyType>()); +#endif } #ifndef QT_NO_EXCEPTIONS void tst_QPromise::cancelWhenDestroyed() { +#if QT_CONFIG(cxx11_future) QPromise<int> initialPromise; auto f = initialPromise.future(); @@ -478,11 +491,13 @@ void tst_QPromise::cancelWhenDestroyed() QVERIFY(std::find(expected.begin(), expected.end(), actual) != expected.end()); expected.removeOne(actual); } +#endif } #endif void tst_QPromise::cancelWhenReassigned() { +#if QT_CONFIG(cxx11_future) QPromise<int> promise; auto f = promise.future(); promise.start(); @@ -496,6 +511,7 @@ void tst_QPromise::cancelWhenReassigned() QCOMPARE(f.isFinished(), true); QCOMPARE(f.isCanceled(), true); +#endif } template <typename T> @@ -614,6 +630,7 @@ void tst_QPromise::continuationsRunWhenFinished() void tst_QPromise::finishWhenSwapped() { +#if QT_CONFIG(cxx11_future) QPromise<int> promise1; auto f1 = promise1.future(); promise1.start(); @@ -648,11 +665,13 @@ void tst_QPromise::finishWhenSwapped() QCOMPARE(f2.resultAt(0), 1); QCOMPARE(f2.resultAt(1), 2); +#endif } template <typename T> void testCancelWhenMoved() { +#if QT_CONFIG(cxx11_future) QPromise<T> promise1; auto f1 = promise1.future(); promise1.start(); @@ -678,6 +697,7 @@ void testCancelWhenMoved() // Future #2 is explicitly finished inside thread QCOMPARE(f2.isFinished(), true); QCOMPARE(f2.isCanceled(), false); +#endif } void tst_QPromise::cancelWhenMoved() @@ -719,6 +739,7 @@ void tst_QPromise::waitUntilResumed() void tst_QPromise::waitUntilCanceled() { +#if QT_CONFIG(cxx11_future) QPromise<int> promise; promise.start(); auto f = promise.future(); @@ -739,6 +760,7 @@ void tst_QPromise::waitUntilCanceled() f.waitForFinished(); QCOMPARE(f.resultCount(), 0); +#endif } // Below is a quick and dirty hack to make snippets a part of a test suite |