aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/autotest/testsettings.cpp
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2017-01-06 07:20:25 +0100
committerChristian Stenger <christian.stenger@qt.io>2017-01-26 12:28:01 +0000
commit67aea18cc2253a5ea8d0adcf42d91a3db68e8334 (patch)
treed8f47f317f620be13d730bd8f9296d64e971880a /src/plugins/autotest/testsettings.cpp
parent34504ad7972897c8f9d6f7f62c5aecb10a374da5 (diff)
AutoTest: Allow basic filtering of scanned folders
This allows to specify folders to be used as search folders while scanning for tests. Current approach allows simple folder names or folder structures without wildcards. Examples: Value What will be (recursively) scanned tests if the current project has any (not necessarily a direct) subfolder 'tests' this folder will be scanned tests/auto if the current project has any (not necessarily a direct) subfolder 'tests' and this folder has a direct subfolder 'auto' the 'auto' folder will be scanned If there are more folders which apply to the rules then all of them will be scanned. This filtering will not keep the parser inside these folders as it might be necessary to step into different folders because of dependencies if the found tests, but the search for entry points to tests will be limited to these folders. Task-number: QTCREATORBUG-16705 Change-Id: Ib93465540cd20656d033e16205807aba6830d738 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/autotest/testsettings.cpp')
-rw-r--r--src/plugins/autotest/testsettings.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/autotest/testsettings.cpp b/src/plugins/autotest/testsettings.cpp
index c3f0b1bda00..0b24390b958 100644
--- a/src/plugins/autotest/testsettings.cpp
+++ b/src/plugins/autotest/testsettings.cpp
@@ -39,6 +39,8 @@ static const char omitInternalKey[] = "OmitInternal";
static const char omitRunConfigWarnKey[] = "OmitRCWarnings";
static const char limitResultOutputKey[] = "LimitResultOutput";
static const char autoScrollKey[] = "AutoScrollResults";
+static const char filterScanKey[] = "FilterScan";
+static const char filtersKey[] = "WhiteListFilters";
static const int defaultTimeout = 60000;
@@ -55,6 +57,8 @@ void TestSettings::toSettings(QSettings *s) const
s->setValue(omitRunConfigWarnKey, omitRunConfigWarn);
s->setValue(limitResultOutputKey, limitResultOutput);
s->setValue(autoScrollKey, autoScroll);
+ s->setValue(filterScanKey, filterScan);
+ s->setValue(filtersKey, whiteListFilters);
// store frameworks and their current active state
for (const Core::Id &id : frameworks.keys())
s->setValue(QLatin1String(id.name()), frameworks.value(id));
@@ -69,6 +73,8 @@ void TestSettings::fromSettings(QSettings *s)
omitRunConfigWarn = s->value(omitRunConfigWarnKey, false).toBool();
limitResultOutput = s->value(limitResultOutputKey, true).toBool();
autoScroll = s->value(autoScrollKey, true).toBool();
+ filterScan = s->value(filterScanKey, false).toBool();
+ whiteListFilters = s->value(filtersKey, QStringList()).toStringList();
// try to get settings for registered frameworks
TestFrameworkManager *frameworkManager = TestFrameworkManager::instance();
const QList<Core::Id> &registered = frameworkManager->registeredFrameworkIds();