diff options
Diffstat (limited to 'src/plugins/autotest/quick/quicktesttreeitem.cpp')
-rw-r--r-- | src/plugins/autotest/quick/quicktesttreeitem.cpp | 18 |
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) |