Files
qt-creator/src/plugins/autotest/testprojectsettings.h
Christian Stenger 1fc135822f AutoTest: Allow limiting scan inside project settings
Enables to limit the scanning for tests and respectively any
further action to a list of user defined patterns.
If limitation is enabled and any of the filter patterns does
match the file will be processed.
If no filter pattern matches the file will be ignored.

Change-Id: I6a6de8f4137485e83b750997fb3c948dc6e79c68
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-04-30 08:04:36 +00:00

55 lines
1.9 KiB
C++

// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include "itemdatacache.h"
#include "testsettings.h"
namespace ProjectExplorer { class Project; }
namespace Autotest {
class ITestFramework;
class ITestTool;
namespace Internal {
class TestProjectSettings : public QObject
{
Q_OBJECT
public:
explicit TestProjectSettings(ProjectExplorer::Project *project);
~TestProjectSettings();
void setUseGlobalSettings(bool useGlobal);
bool useGlobalSettings() const { return m_useGlobalSettings; }
void setRunAfterBuild(RunAfterBuildMode mode) {m_runAfterBuild = mode; }
RunAfterBuildMode runAfterBuild() const { return m_runAfterBuild; }
QHash<ITestFramework *, bool> activeFrameworks() const { return m_activeTestFrameworks; }
void activateFramework(const Utils::Id &id, bool activate);
QHash<ITestTool *, bool> activeTestTools() const { return m_activeTestTools; }
void activateTestTool(const Utils::Id &id, bool activate);
Internal::ItemDataCache<Qt::CheckState> *checkStateCache() { return &m_checkStateCache; }
bool limitToFilters() const { return m_limitToFilter; }
void setLimitToFilter(bool enable) { m_limitToFilter = enable; }
const QStringList pathFilters() const { return m_pathFilters; }
void setPathFilters(const QStringList &filters) { m_pathFilters = filters; }
void addPathFilter(const QString &filter) { m_pathFilters.append(filter); }
private:
void load();
void save();
ProjectExplorer::Project *m_project;
bool m_useGlobalSettings = true;
bool m_limitToFilter = false;
RunAfterBuildMode m_runAfterBuild = RunAfterBuildMode::None;
QHash<ITestFramework *, bool> m_activeTestFrameworks;
QHash<ITestTool *, bool> m_activeTestTools;
QStringList m_pathFilters;
Internal::ItemDataCache<Qt::CheckState> m_checkStateCache;
};
} // namespace Internal
} // namespace Autotest