summaryrefslogtreecommitdiff
path: root/src/plugins/autotest/quick/quicktestparser.cpp
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2023-02-12 01:31:47 +0100
committerJarek Kobus <jaroslaw.kobus@qt.io>2023-02-27 14:50:48 +0000
commit8285c857251977a8ff6c9b44bbeac794ff1dfa2e (patch)
treed2568a4baca58e3eed69a1042fa29d391d9b636d /src/plugins/autotest/quick/quicktestparser.cpp
parent10a97e1f0e9f6ffab9fd2bc4c30a516bba807f68 (diff)
downloadqt-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.cpp21
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