aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/autotest/quick/quicktesttreeitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/autotest/quick/quicktesttreeitem.cpp')
-rw-r--r--src/plugins/autotest/quick/quicktesttreeitem.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/autotest/quick/quicktesttreeitem.cpp b/src/plugins/autotest/quick/quicktesttreeitem.cpp
index dc17be469b..227c56410f 100644
--- a/src/plugins/autotest/quick/quicktesttreeitem.cpp
+++ b/src/plugins/autotest/quick/quicktesttreeitem.cpp
@@ -25,6 +25,7 @@
#include "quicktesttreeitem.h"
#include "quicktestconfiguration.h"
+#include "quicktestframework.h"
#include "quicktestparser.h"
#include "../testframeworkmanager.h"
@@ -426,6 +427,23 @@ QSet<QString> QuickTestTreeItem::internalTargets() const
return result;
}
+void QuickTestTreeItem::markForRemovalRecursively(const QString &filePath)
+{
+ static const Core::Id id = Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(
+ QuickTest::Constants::FRAMEWORK_NAME);
+ TestTreeItem::markForRemovalRecursively(filePath);
+ auto parser = dynamic_cast<QuickTestParser *>(TestFrameworkManager::instance()
+ ->testParserForTestFramework(id));
+ const QString proFile = parser->projectFileForMainCppFile(filePath);
+ if (!proFile.isEmpty()) {
+ TestTreeItem *root = TestFrameworkManager::instance()->rootNodeForTestFramework(id);
+ root->forAllChildren([proFile](TestTreeItem *it) {
+ if (it->proFile() == proFile)
+ it->markForRemoval(true);
+ });
+ }
+}
+
TestTreeItem *QuickTestTreeItem::unnamedQuickTests() const
{
if (type() != Root)