hammer.urandom revision 12059
112059Smarkm#!/usr/bin/perl 212059Smarkm 312059Smarkm# 412059Smarkm# Test program for /dev/urandom 512059Smarkm# Read and display random numbers. 612059Smarkm# This also reads /dev/zero to make sure there is no brokenness there. 712059Smarkm# 812059Smarkm# $Id$ 912059Smarkm# 1012059Smarkm 1112059Smarkmopen(ZERO, "/dev/zero") || die "Cannot open /dev/zero - $!\n"; 1212059Smarkm 1312059Smarkmfor (;;) { 1412059Smarkm open(BIN, "/dev/urandom"); 1512059Smarkm $len = sysread(BIN, $a, 20); 1612059Smarkm sysread(ZERO, $b, 20); 1712059Smarkm close(BIN); 1812059Smarkm if ($len > 0) { 1912059Smarkm for ($j = 0; $j < $len; $j += 2) { 2012059Smarkm $k = unpack("S", substr($a, $j, 2)); 2112059Smarkm $z = unpack("S", substr($b, $j, 2)); 2212059Smarkm $z == 0 || die "/dev/zero is returning non-zero!\n"; 2312059Smarkm printf("%.4X ", $k); 2412059Smarkm } 2512059Smarkm printf "\n"; 2612059Smarkm } 2712059Smarkm} 28