int main() { { std::random_device r; } { std::string token = "wrong file"; check_random_device_invalid(token); } { std::string token = "/dev/urandom"; if (is_valid_random_device(token)) check_random_device_valid(token); else check_random_device_invalid(token); } { std::string token = "/dev/random"; if (is_valid_random_device(token)) check_random_device_valid(token); else check_random_device_invalid(token); } #if !defined(_WIN32) // Test that random_device(const string&) properly handles getting // a file descriptor with the value '0'. Do this by closing the standard // streams so that the descriptor '0' is available. { int ec; ec = close(STDIN_FILENO); assert(!ec); ec = close(STDOUT_FILENO); assert(!ec); ec = close(STDERR_FILENO); assert(!ec); std::random_device r; } #endif // !defined(_WIN32) }
int main() { { std::random_device r; } { int ec; ec = close(STDIN_FILENO); assert(!ec); ec = close(STDOUT_FILENO); assert(!ec); ec = close(STDERR_FILENO); assert(!ec); std::random_device r; } { std::string token = "wrong file"; if (is_valid_random_device(token)) check_random_device_valid(token); else check_random_device_invalid(token); } { std::string token = "/dev/urandom"; if (is_valid_random_device(token)) check_random_device_valid(token); else check_random_device_invalid(token); } { std::string token = "/dev/random"; if (is_valid_random_device(token)) check_random_device_valid(token); else check_random_device_invalid(token); } }