Clang: Add progress bars for creating PCHs and indexing

Task-number: QTCREATORBUG-21112
Change-Id: Ie0c00a58f479a2fe7cbc7322490808509733ff0f
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Marco Bubke
2018-09-27 17:52:44 +02:00
parent ffc070a3f2
commit 391cfab5d7
60 changed files with 865 additions and 49 deletions

View File

@@ -49,6 +49,7 @@ protected:
void SetUp()
{
ON_CALL(mockProcessorManager, unusedProcessor()).WillByDefault(ReturnRef(mockSymbolsCollector));
progressCounter.addTotal(100);
}
void TearDown()
{
@@ -63,11 +64,15 @@ protected:
NiceMockProcessorManager mockProcessorManager;
NiceMock<MockSymbolsCollector> mockSymbolsCollector;
NiceMock<MockSymbolIndexerTaskQueue> mockSymbolIndexerTaskQueue;
NiceMock<MockFunction<void(int, int)>> mockSetProgressCallback;
ClangBackEnd::ProgressCounter progressCounter{mockSetProgressCallback.AsStdFunction()};
Scheduler scheduler{mockProcessorManager,
mockSymbolIndexerTaskQueue,
progressCounter,
4};
Scheduler deferredScheduler{mockProcessorManager,
mockSymbolIndexerTaskQueue,
progressCounter,
4,
std::launch::deferred};
};
@@ -140,6 +145,17 @@ TEST_F(TaskScheduler, FreeSlotsCallsCleanupMethodsAfterTheWorkIsDone)
scheduler.freeSlots();
}
TEST_F(TaskScheduler, FreeSlotsCallsProgressMethodsAfterTheWorkIsDone)
{
scheduler.addTasks({nocall, nocall});
scheduler.syncTasks();
InSequence s;
EXPECT_CALL(mockSetProgressCallback, Call(2, 100));
scheduler.freeSlots();
}
TEST_F(TaskScheduler, AddTaskCallSymbolsCollectorManagerUnusedSymbolsCollector)
{
EXPECT_CALL(mockProcessorManager, unusedProcessor()).Times(2);