diff --git a/src/plugins/autotest/testcodeparser.cpp b/src/plugins/autotest/testcodeparser.cpp index 907b61be0f5c3b15776395d21b5b1d92bbfe7727..ce0a655c2c67b75c23e8b7f5f43d5713bc77a4f8 100644 --- a/src/plugins/autotest/testcodeparser.cpp +++ b/src/plugins/autotest/testcodeparser.cpp @@ -199,7 +199,7 @@ static bool parsingHasFailed; /****** threaded parsing stuff *******/ -void TestCodeParser::onDocumentUpdated(const QString &fileName) +void TestCodeParser::onDocumentUpdated(const QString &fileName, bool isQmlFile) { if (m_codeModelParsing || m_fullUpdatePostponed) return; @@ -207,7 +207,8 @@ void TestCodeParser::onDocumentUpdated(const QString &fileName) Project *project = SessionManager::startupProject(); if (!project) return; - if (!SessionManager::projectContainsFile(project, Utils::FileName::fromString(fileName))) + // Quick tests: qml files aren't necessarily listed inside project files + if (!isQmlFile && !SessionManager::projectContainsFile(project, Utils::FileName::fromString(fileName))) return; scanForTests(QStringList(fileName)); @@ -222,7 +223,7 @@ void TestCodeParser::onQmlDocumentUpdated(const QmlJS::Document::Ptr &document) { const QString fileName = document->fileName(); if (!fileName.endsWith(".qbs")) - onDocumentUpdated(fileName); + onDocumentUpdated(fileName, true); } void TestCodeParser::onStartupProjectChanged(Project *project) diff --git a/src/plugins/autotest/testcodeparser.h b/src/plugins/autotest/testcodeparser.h index e06563d18a6b612f116c6816f8a213791d094bd5..4dbacc7ad72c400d805ca3ad8c4c369b4a6e4541 100644 --- a/src/plugins/autotest/testcodeparser.h +++ b/src/plugins/autotest/testcodeparser.h @@ -88,7 +88,8 @@ private: bool postponed(const QStringList &fileList); void scanForTests(const QStringList &fileList = QStringList(), ITestParser *parser = nullptr); - void onDocumentUpdated(const QString &fileName); + // qml files must be handled slightly different + void onDocumentUpdated(const QString &fileName, bool isQmlFile = false); void onTaskStarted(Core::Id type); void onAllTasksFinished(Core::Id type); void onFinished();