diff options
author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2023-02-12 01:31:47 +0100 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2023-02-27 14:50:48 +0000 |
commit | 8285c857251977a8ff6c9b44bbeac794ff1dfa2e (patch) | |
tree | d2568a4baca58e3eed69a1042fa29d391d9b636d /src/plugins/autotest/quick/quicktestparser.cpp | |
parent | 10a97e1f0e9f6ffab9fd2bc4c30a516bba807f68 (diff) | |
download | qt-creator-8285c857251977a8ff6c9b44bbeac794ff1dfa2e.tar.gz |
Autotest: Use QPromise for async calls
Change-Id: I57d2feed36eeb1871b2b00cf7720c48f6a0e81b5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Diffstat (limited to 'src/plugins/autotest/quick/quicktestparser.cpp')
-rw-r--r-- | src/plugins/autotest/quick/quicktestparser.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/plugins/autotest/quick/quicktestparser.cpp b/src/plugins/autotest/quick/quicktestparser.cpp index 2c72cdf3f1..f5b79d8075 100644 --- a/src/plugins/autotest/quick/quicktestparser.cpp +++ b/src/plugins/autotest/quick/quicktestparser.cpp @@ -196,7 +196,7 @@ QList<Document::Ptr> QuickTestParser::scanDirectoryForQuickTestQmlFiles(const Fi return foundDocs; } -static bool checkQmlDocumentForQuickTestCode(QFutureInterface<TestParseResultPtr> &futureInterface, +static bool checkQmlDocumentForQuickTestCode(QPromise<TestParseResultPtr> &promise, const Document::Ptr &qmlJSDoc, ITestFramework *framework, const FilePath &proFile = {}, @@ -240,12 +240,12 @@ static bool checkQmlDocumentForQuickTestCode(QFutureInterface<TestParseResultPtr parseResult->children.append(funcResult); } - futureInterface.reportResult(TestParseResultPtr(parseResult)); + promise.addResult(TestParseResultPtr(parseResult)); } return true; } -bool QuickTestParser::handleQtQuickTest(QFutureInterface<TestParseResultPtr> &futureInterface, +bool QuickTestParser::handleQtQuickTest(QPromise<TestParseResultPtr> &promise, CPlusPlus::Document::Ptr document, ITestFramework *framework) { @@ -263,17 +263,14 @@ bool QuickTestParser::handleQtQuickTest(QFutureInterface<TestParseResultPtr> &fu if (srcDir.isEmpty()) return false; - if (futureInterface.isCanceled()) + if (promise.isCanceled()) return false; const QList<Document::Ptr> qmlDocs = scanDirectoryForQuickTestQmlFiles(srcDir); bool result = false; for (const Document::Ptr &qmlJSDoc : qmlDocs) { - if (futureInterface.isCanceled()) + if (promise.isCanceled()) break; - result |= checkQmlDocumentForQuickTestCode(futureInterface, - qmlJSDoc, - framework, - proFile, + result |= checkQmlDocumentForQuickTestCode(promise, qmlJSDoc, framework, proFile, m_checkForDerivedTests); } return result; @@ -370,7 +367,7 @@ void QuickTestParser::release() CppParser::release(); } -bool QuickTestParser::processDocument(QFutureInterface<TestParseResultPtr> &futureInterface, +bool QuickTestParser::processDocument(QPromise<TestParseResultPtr> &promise, const FilePath &fileName) { if (fileName.endsWith(".qml")) { @@ -378,7 +375,7 @@ bool QuickTestParser::processDocument(QFutureInterface<TestParseResultPtr> &futu if (proFile.isEmpty()) return false; Document::Ptr qmlJSDoc = m_qmlSnapshot.document(fileName); - return checkQmlDocumentForQuickTestCode(futureInterface, + return checkQmlDocumentForQuickTestCode(promise, qmlJSDoc, framework(), proFile, @@ -389,7 +386,7 @@ bool QuickTestParser::processDocument(QFutureInterface<TestParseResultPtr> &futu if (cppdoc.isNull() || !includesQtQuickTest(cppdoc, m_cppSnapshot)) return false; - return handleQtQuickTest(futureInterface, cppdoc, framework()); + return handleQtQuickTest(promise, cppdoc, framework()); } FilePath QuickTestParser::projectFileForMainCppFile(const FilePath &fileName) const |