[committed] libstdc++: Make spurious std::random_device FAIL less likely

Message ID 20211109144103.2693110-1-jwakely@redhat.com
State Committed
Commit 8d2d0a6c4391e462555db6d33b2cc00f3da0932f
Headers
Series [committed] libstdc++: Make spurious std::random_device FAIL less likely |

Commit Message

Jonathan Wakely Nov. 9, 2021, 2:41 p.m. UTC
  Tested x86_64-linux, committed to trunk.


It's possible that independent reads from /dev/random and /dev/urandom
could produce the same value by chance. Retry if that happens. The
chances of it happening twice are miniscule.

libstdc++-v3/ChangeLog:

	* testsuite/26_numerics/random/random_device/cons/token.cc:
	Retry if random devices produce the same value.
---
 .../testsuite/26_numerics/random/random_device/cons/token.cc    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Patch

diff --git a/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc b/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc
index d6ac3a37c64..07713e5c67f 100644
--- a/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc
+++ b/libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc
@@ -42,7 +42,7 @@  test02()
 #ifdef _GLIBCXX_USE_DEV_RANDOM
   std::random_device x1("/dev/urandom");
   std::random_device x2("/dev/random");
-  VERIFY( x1() != x2() );
+  VERIFY( x1() != x2() || x1() != x2() );
 #endif
 }