summaryrefslogtreecommitdiff
path: root/tests/kernel
diff options
context:
space:
mode:
authorpooka <pooka@NetBSD.org>2016-05-12 11:41:43 +0000
committerpooka <pooka@NetBSD.org>2016-05-12 11:41:43 +0000
commit70bf5e7ca0b3d4ab09315bd497d61bb92939ffbf (patch)
tree2b8cb31649f4fcacc354692015cee567a4a7e20b /tests/kernel
parentfe771180bb553c4e89913e9fa63fa84fc2f6a3f2 (diff)
Test that reading /dev/random returns within a reasonable time.
Diffstat (limited to 'tests/kernel')
-rw-r--r--tests/kernel/t_rnd.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/tests/kernel/t_rnd.c b/tests/kernel/t_rnd.c
index ce71c2f91c0..58098c11c61 100644
--- a/tests/kernel/t_rnd.c
+++ b/tests/kernel/t_rnd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: t_rnd.c,v 1.6 2015/04/13 22:24:34 riastradh Exp $ */
+/* $NetBSD: t_rnd.c,v 1.7 2016/05/12 11:41:43 pooka Exp $ */
/*
* Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: t_rnd.c,v 1.6 2015/04/13 22:24:34 riastradh Exp $");
+__RCSID("$NetBSD: t_rnd.c,v 1.7 2016/05/12 11:41:43 pooka Exp $");
#include <sys/types.h>
#include <sys/fcntl.h>
@@ -86,10 +86,29 @@ ATF_TC_BODY(RNDADDDATA2, tc)
ATF_REQUIRE_ERRNO(EINVAL, rump_sys_ioctl(fd, RNDADDDATA, &rd) == -1);
}
+ATF_TC(read_random);
+ATF_TC_HEAD(read_random, tc)
+{
+ atf_tc_set_md_var(tc, "descr", "does reading /dev/random return "
+ "within reasonable time");
+ atf_tc_set_md_var(tc, "timeout", "10");
+}
+
+ATF_TC_BODY(read_random, tc)
+{
+ char buf[128];
+ int fd;
+
+ rump_init();
+ RL(fd = rump_sys_open("/dev/random", O_RDONLY));
+ RL(rump_sys_read(fd, buf, sizeof(buf)));
+}
+
ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, RNDADDDATA);
ATF_TP_ADD_TC(tp, RNDADDDATA2);
+ ATF_TP_ADD_TC(tp, read_random);
return atf_no_error();
}