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(-)

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
 }
 
-- 
2.31.1

Reply via email to