AutoTest: Delay reparsing of postponed files

Task-number: QTCREATORBUG-30447
Change-Id: Ica1dba358e05edfe2ad7ed6fd92fc8afde291718
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2024-02-27 14:44:40 +01:00
parent 6e5c72824a
commit dc21bd6af2

View File

@@ -55,6 +55,7 @@ TestCodeParser::TestCodeParser()
m_qmlEditorRev.remove(filePath); m_qmlEditorRev.remove(filePath);
}); });
m_reparseTimer.setSingleShot(true); m_reparseTimer.setSingleShot(true);
m_reparseTimer.setInterval(1000);
connect(&m_reparseTimer, &QTimer::timeout, this, &TestCodeParser::parsePostponedFiles); connect(&m_reparseTimer, &QTimer::timeout, this, &TestCodeParser::parsePostponedFiles);
connect(&m_taskTreeRunner, &TaskTreeRunner::aboutToStart, this, [this](TaskTree *taskTree) { connect(&m_taskTreeRunner, &TaskTreeRunner::aboutToStart, this, [this](TaskTree *taskTree) {
if (m_withTaskProgress) { if (m_withTaskProgress) {
@@ -238,27 +239,10 @@ bool TestCodeParser::postponed(const QSet<FilePath> &filePaths)
if (filePaths.size() == 1) { if (filePaths.size() == 1) {
if (m_reparseTimerTimedOut) if (m_reparseTimerTimedOut)
return false; return false;
const FilePath filePath = *filePaths.begin();
switch (m_postponedFiles.size()) { m_postponedFiles.insert(*filePaths.begin());
case 0: m_reparseTimer.start();
m_postponedFiles.insert(filePath); return true;
m_reparseTimer.setInterval(1000);
m_reparseTimer.start();
return true;
case 1:
if (m_postponedFiles.contains(filePath)) {
m_reparseTimer.start();
return true;
}
Q_FALLTHROUGH();
default:
m_postponedFiles.insert(filePath);
m_reparseTimer.stop();
m_reparseTimer.setInterval(0);
m_reparseTimerTimedOut = false;
m_reparseTimer.start();
return true;
}
} }
return false; return false;
case PartialParse: case PartialParse: