Commit 6cd8cf09 by Evan Brown Committed by Copybara-Service

Make flaky failures much less likely in BasicMocking.MocksNotTriggeredForIncorrectTypes test.

PiperOrigin-RevId: 615030645
Change-Id: Ia0ff3e649c6155c44d4772ce32fbcd4c5b273cc7
parent e20285c6
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "absl/random/mocking_bit_gen.h" #include "absl/random/mocking_bit_gen.h"
#include <cmath> #include <cmath>
#include <cstdint>
#include <numeric> #include <numeric>
#include <random> #include <random>
...@@ -176,12 +177,18 @@ TEST(BasicMocking, MultipleGenerators) { ...@@ -176,12 +177,18 @@ TEST(BasicMocking, MultipleGenerators) {
EXPECT_NE(get_value(mocked_with_11), 11); EXPECT_NE(get_value(mocked_with_11), 11);
} }
TEST(BasicMocking, MocksNotTrigeredForIncorrectTypes) { TEST(BasicMocking, MocksNotTriggeredForIncorrectTypes) {
absl::MockingBitGen gen; absl::MockingBitGen gen;
EXPECT_CALL(absl::MockUniform<uint32_t>(), Call(gen)).WillOnce(Return(42)); EXPECT_CALL(absl::MockUniform<uint32_t>(), Call(gen))
.WillRepeatedly(Return(42));
EXPECT_NE(absl::Uniform<uint16_t>(gen), 42); // Not mocked
EXPECT_EQ(absl::Uniform<uint32_t>(gen), 42); // Mock triggered bool uint16_always42 = true;
for (int i = 0; i < 10000; i++) {
EXPECT_EQ(absl::Uniform<uint32_t>(gen), 42); // Mock triggered.
// uint16_t not mocked.
uint16_always42 = uint16_always42 && absl::Uniform<uint16_t>(gen) == 42;
}
EXPECT_FALSE(uint16_always42);
} }
TEST(BasicMocking, FailsOnUnsatisfiedMocks) { TEST(BasicMocking, FailsOnUnsatisfiedMocks) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment