summaryrefslogtreecommitdiff
path: root/src/plugins/autotest/quick/quicktestparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/autotest/quick/quicktestparser.cpp')
-rw-r--r--src/plugins/autotest/quick/quicktestparser.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/plugins/autotest/quick/quicktestparser.cpp b/src/plugins/autotest/quick/quicktestparser.cpp
index 5c50034623..c5f0524a53 100644
--- a/src/plugins/autotest/quick/quicktestparser.cpp
+++ b/src/plugins/autotest/quick/quicktestparser.cpp
@@ -8,6 +8,7 @@
#include "quicktest_utils.h"
#include "../testcodeparser.h"
#include "../testtreemodel.h"
+#include "../qtest/qttestsettings.h"
#include <cppeditor/cppmodelmanager.h>
#include <cppeditor/projectpart.h>
@@ -201,14 +202,15 @@ QList<Document::Ptr> QuickTestParser::scanDirectoryForQuickTestQmlFiles(const Ut
static bool checkQmlDocumentForQuickTestCode(QFutureInterface<TestParseResultPtr> &futureInterface,
const Document::Ptr &qmlJSDoc,
ITestFramework *framework,
- const Utils::FilePath &proFile = Utils::FilePath())
+ const Utils::FilePath &proFile = Utils::FilePath(),
+ bool checkForDerivedTest = false)
{
if (qmlJSDoc.isNull())
return false;
AST::Node *ast = qmlJSDoc->ast();
QTC_ASSERT(ast, return false);
Snapshot snapshot = ModelManagerInterface::instance()->snapshot();
- TestQmlVisitor qmlVisitor(qmlJSDoc, snapshot);
+ TestQmlVisitor qmlVisitor(qmlJSDoc, snapshot, checkForDerivedTest);
AST::Node::accept(ast, &qmlVisitor);
if (!qmlVisitor.isValid())
return false;
@@ -272,7 +274,11 @@ bool QuickTestParser::handleQtQuickTest(QFutureInterface<TestParseResultPtr> &fu
for (const Document::Ptr &qmlJSDoc : qmlDocs) {
if (futureInterface.isCanceled())
break;
- result |= checkQmlDocumentForQuickTestCode(futureInterface, qmlJSDoc, framework, proFile);
+ result |= checkQmlDocumentForQuickTestCode(futureInterface,
+ qmlJSDoc,
+ framework,
+ proFile,
+ m_checkForDerivedTests);
}
return result;
}
@@ -354,6 +360,10 @@ void QuickTestParser::init(const Utils::FilePaths &filesToParse, bool fullParse)
// get rid of all cached main cpp files
m_mainCppFiles.clear();
}
+
+ auto qtSettings = static_cast<QtTestSettings *>(framework()->testSettings());
+ m_checkForDerivedTests = qtSettings->quickCheckForDerivedTests.value();
+
CppParser::init(filesToParse, fullParse);
}
@@ -372,7 +382,11 @@ bool QuickTestParser::processDocument(QFutureInterface<TestParseResultPtr> &futu
if (proFile.isEmpty())
return false;
Document::Ptr qmlJSDoc = m_qmlSnapshot.document(fileName);
- return checkQmlDocumentForQuickTestCode(futureInterface, qmlJSDoc, framework(), proFile);
+ return checkQmlDocumentForQuickTestCode(futureInterface,
+ qmlJSDoc,
+ framework(),
+ proFile,
+ m_checkForDerivedTests);
}
CPlusPlus::Document::Ptr cppdoc = document(fileName);