UnitTests: Fix flaky test

ImageCacheGenerator.CleanIsCallingAbortCallback was not waiting for the
expected call.

Task-number: QTCREATORBUG-25580
Change-Id: I43265389a36e568dea7c7ece5524ef597232d049
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Marco Bubke
2021-04-14 12:50:21 +02:00
parent 46a3645181
commit 76bd140c7c

View File

@@ -277,21 +277,21 @@ TEST_F(ImageCacheGenerator, CallWalCheckpointFullIfQueueIsEmpty)
TEST_F(ImageCacheGenerator, CleanIsCallingAbortCallback)
{
ON_CALL(collectorMock, start(_, _, _, _, _))
.WillByDefault([&](auto, auto, auto, auto captureCallback, auto) {
captureCallback({}, {});
waitInThread.wait();
});
ON_CALL(collectorMock, start(_, _, _, _, _)).WillByDefault([&](auto, auto, auto, auto, auto) {
notification.wait();
});
generator.generateImage(
"name", {}, {11}, imageCallbackMock.AsStdFunction(), abortCallbackMock.AsStdFunction(), {});
generator.generateImage(
"name2", {}, {11}, imageCallbackMock.AsStdFunction(), abortCallbackMock.AsStdFunction(), {});
EXPECT_CALL(abortCallbackMock, Call(Eq(QmlDesigner::ImageCache::AbortReason::Abort)))
.Times(AtLeast(1));
.Times(AtLeast(1))
.WillRepeatedly([&](auto) { waitInThread.notify(); });
generator.clean();
waitInThread.notify();
notification.notify();
waitInThread.wait();
}
TEST_F(ImageCacheGenerator, WaitForFinished)