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