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