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

PiperOrigin-RevId: 615030645
Change-Id: Ia0ff3e649c6155c44d4772ce32fbcd4c5b273cc7
diff --git a/absl/random/mocking_bit_gen_test.cc b/absl/random/mocking_bit_gen_test.cc
index c713cea..9ccdf56 100644
--- a/absl/random/mocking_bit_gen_test.cc
+++ b/absl/random/mocking_bit_gen_test.cc
@@ -16,6 +16,7 @@
 #include "absl/random/mocking_bit_gen.h"
 
 #include <cmath>
+#include <cstdint>
 #include <numeric>
 #include <random>
 
@@ -176,12 +177,18 @@
   EXPECT_NE(get_value(mocked_with_11), 11);
 }
 
-TEST(BasicMocking, MocksNotTrigeredForIncorrectTypes) {
+TEST(BasicMocking, MocksNotTriggeredForIncorrectTypes) {
   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) {