Я использую gmock, gtest framework для проверки функции в моем коде. И я издевался над функцией, которая вызывается внутри тестируемой основной функции. Мок-функция находится в бесконечном цикле while и завершается только в случае успеха, а в случае сбоя функция keep выводит сообщение об ошибке. Издевательская функция выглядит так:
while((fd = (socket(_,_,_)) < 0)
{
print("error")
}
return fd;
теперь я хочу, чтобы функция сокета не работала и печатала ошибку. Мне удалось распечатать ошибку, но, поскольку это цикл while, он продолжает печатать сообщение об ошибке. Как мне поставить ожидание, чтобы gtest перестал печатать после 1 или 2 раз. Я положил ожидание, как это
EXPECT_CALL(object, socket(_,_,_)).WillRepeatedly(return (error));
Я пытался поставить .Times(2), но это не сработало.