From 33c953ace4cfeb1b7670054ffb3926fddeb70f8e Mon Sep 17 00:00:00 2001 From: "Eduardo Lima (Etrunko)" Date: Fri, 18 Mar 2022 10:22:33 -0300 Subject: [PATCH] agent: Add test_ressed_rng_not_root Same as previous test, but does not skip if it is not running as root. Signed-off-by: Eduardo Lima (Etrunko) --- src/agent/src/random.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/agent/src/random.rs b/src/agent/src/random.rs index 4e7005a357..79ee25d960 100644 --- a/src/agent/src/random.rs +++ b/src/agent/src/random.rs @@ -66,4 +66,20 @@ mod tests { let ret = reseed_rng(&seed); assert!(ret.is_ok()); } + + #[test] + fn test_reseed_rng_not_root() { + const POOL_SIZE: usize = 512; + let mut f = File::open("/dev/urandom").unwrap(); + let mut seed = [0; POOL_SIZE]; + let n = f.read(&mut seed).unwrap(); + // Ensure the buffer was filled. + assert!(n == POOL_SIZE); + let ret = reseed_rng(&seed); + if nix::unistd::Uid::effective().is_root() { + assert!(ret.is_ok()); + } else { + assert!(!ret.is_ok()); + } + } }