summaryrefslogtreecommitdiff
path: root/tools/test/devrandom/hammer.urandom
diff options
context:
space:
mode:
authorMark Murray <markm@FreeBSD.org>1995-11-04 09:50:48 +0000
committerMark Murray <markm@FreeBSD.org>1995-11-04 09:50:48 +0000
commitd82e286489da73321a47e329d98a98817b0438b6 (patch)
tree640094f2b9bcef301fc5179c062150e1f6b34b32 /tools/test/devrandom/hammer.urandom
parentbc71ecdfc9dfa9f2db237626f5a27d0251b0edb1 (diff)
Notes
Diffstat (limited to 'tools/test/devrandom/hammer.urandom')
-rw-r--r--tools/test/devrandom/hammer.urandom27
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 000000000000..4e434fae5476
--- /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";
+ }
+}