diff options
| author | pooka <pooka@NetBSD.org> | 2016-05-12 11:41:43 +0000 |
|---|---|---|
| committer | pooka <pooka@NetBSD.org> | 2016-05-12 11:41:43 +0000 |
| commit | 70bf5e7ca0b3d4ab09315bd497d61bb92939ffbf (patch) | |
| tree | 2b8cb31649f4fcacc354692015cee567a4a7e20b /tests/kernel | |
| parent | fe771180bb553c4e89913e9fa63fa84fc2f6a3f2 (diff) | |
Test that reading /dev/random returns within a reasonable time.
Diffstat (limited to 'tests/kernel')
| -rw-r--r-- | tests/kernel/t_rnd.c | 23 |
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(); } |
