forked from qt-creator/qt-creator
AutoTest: Further optimize TestCodeParser::scanForTests()
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>
This commit is contained in:
@@ -45,7 +45,7 @@ class ITestParser
|
||||
public:
|
||||
explicit ITestParser(ITestFramework *framework) : m_framework(framework) {}
|
||||
virtual ~ITestParser() { }
|
||||
virtual void init(const Utils::FilePaths &filesToParse, bool fullParse) = 0;
|
||||
virtual void init(const QSet<Utils::FilePath> &filesToParse, bool fullParse) = 0;
|
||||
virtual bool processDocument(QPromise<TestParseResultPtr> &futureInterface,
|
||||
const Utils::FilePath &fileName) = 0;
|
||||
|
||||
@@ -63,7 +63,7 @@ class CppParser : public ITestParser
|
||||
{
|
||||
public:
|
||||
explicit CppParser(ITestFramework *framework);
|
||||
void init(const Utils::FilePaths &filesToParse, bool fullParse) override;
|
||||
void init(const QSet<Utils::FilePath> &filesToParse, bool fullParse) override;
|
||||
static bool selectedForBuilding(const Utils::FilePath &fileName);
|
||||
QByteArray getFileContent(const Utils::FilePath &filePath) const;
|
||||
void release() override;
|
||||
|
||||
Reference in New Issue
Block a user