diff options
author | Evan Brown <ezb@google.com> | 2024-03-12 07:18:14 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-03-12 07:19:08 -0700 |
commit | 6cd8cf090d1ee521ad1aadeb961601d036f00cae (patch) | |
tree | 6459d1651940092d136db33cceb72b193a03e07f /absl/random | |
parent | e20285c6529eafba57521153790bcb9a4d4244c3 (diff) | |
download | abseil-6cd8cf090d1ee521ad1aadeb961601d036f00cae.tar.gz abseil-6cd8cf090d1ee521ad1aadeb961601d036f00cae.tar.bz2 abseil-6cd8cf090d1ee521ad1aadeb961601d036f00cae.zip |
Make flaky failures much less likely in BasicMocking.MocksNotTriggeredForIncorrectTypes test.
PiperOrigin-RevId: 615030645
Change-Id: Ia0ff3e649c6155c44d4772ce32fbcd4c5b273cc7
Diffstat (limited to 'absl/random')
-rw-r--r-- | absl/random/mocking_bit_gen_test.cc | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/absl/random/mocking_bit_gen_test.cc b/absl/random/mocking_bit_gen_test.cc index c713ceaf..9ccdf568 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 @@ TEST(BasicMocking, MultipleGenerators) { 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_NE(absl::Uniform<uint16_t>(gen), 42); // Not mocked - EXPECT_EQ(absl::Uniform<uint32_t>(gen), 42); // Mock triggered + EXPECT_CALL(absl::MockUniform<uint32_t>(), Call(gen)) + .WillRepeatedly(Return(42)); + + 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) { |