diff options
Diffstat (limited to 'tools/test/devrandom/hammer.urandom')
-rw-r--r-- | tools/test/devrandom/hammer.urandom | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/test/devrandom/hammer.urandom b/tools/test/devrandom/hammer.urandom new file mode 100644 index 0000000..4e434fa --- /dev/null +++ b/tools/test/devrandom/hammer.urandom @@ -0,0 +1,27 @@ +#!/usr/bin/perl + +# +# Test program for /dev/urandom +# Read and display random numbers. +# This also reads /dev/zero to make sure there is no brokenness there. +# +# $Id$ +# + +open(ZERO, "/dev/zero") || die "Cannot open /dev/zero - $!\n"; + +for (;;) { + open(BIN, "/dev/urandom"); + $len = sysread(BIN, $a, 20); + sysread(ZERO, $b, 20); + close(BIN); + if ($len > 0) { + for ($j = 0; $j < $len; $j += 2) { + $k = unpack("S", substr($a, $j, 2)); + $z = unpack("S", substr($b, $j, 2)); + $z == 0 || die "/dev/zero is returning non-zero!\n"; + printf("%.4X ", $k); + } + printf "\n"; + } +} |