forked from qt-creator/qt-creator
When loading a Qt project, after the Scanning For Tests finished, the scanForTests() blocks the main thread for about 3.5 seconds on the calls to parser->init(). Refactor the code so that it operates on QSet<FilePath> instead of QList<FilePaths>. This patch constraints the freeze to about 40 ms. Change-Id: I219b3e2abf2b7e5166eec08d83f4cdcb8e4a8098 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
|
|
|
#pragma once
|
|
|
|
#include <utils/fileutils.h>
|
|
|
|
#include <QHash>
|
|
|
|
namespace Utils { class Environment; }
|
|
|
|
namespace Autotest {
|
|
|
|
class ITestFramework;
|
|
|
|
namespace Internal {
|
|
|
|
struct TestCase
|
|
{
|
|
QString name;
|
|
bool multipleTestCases;
|
|
};
|
|
using TestCases = QList<TestCase>;
|
|
|
|
namespace QTestUtils {
|
|
|
|
bool isQTestMacro(const QByteArray ¯o);
|
|
QHash<Utils::FilePath, TestCases> testCaseNamesForFiles(ITestFramework *framework,
|
|
const QSet<Utils::FilePath> &files);
|
|
QMultiHash<Utils::FilePath, Utils::FilePath> alternativeFiles(ITestFramework *framework,
|
|
const QSet<Utils::FilePath> &files);
|
|
QStringList filterInterfering(const QStringList &provided, QStringList *omitted, bool isQuickTest);
|
|
Utils::Environment prepareBasicEnvironment(const Utils::Environment &env);
|
|
|
|
} // namespace QTestUtils
|
|
} // namespace Internal
|
|
} // namespace Autotest
|