aboutsummaryrefslogtreecommitdiff
path: root/rand/rand_os/tests/mod.rs
diff options
context:
space:
mode:
authorDaniel Mueller <deso@posteo.net>2020-01-02 08:32:06 -0800
committerDaniel Mueller <deso@posteo.net>2020-01-02 08:32:06 -0800
commitfd091b04316db9dc5fafadbd6bdbe60b127408a9 (patch)
treef202270f7ae5cedc513be03833a26148d9b5e219 /rand/rand_os/tests/mod.rs
parent8161cdb26f98e65b39c603ddf7a614cc87c77a1c (diff)
downloadnitrocli-fd091b04316db9dc5fafadbd6bdbe60b127408a9.tar.gz
nitrocli-fd091b04316db9dc5fafadbd6bdbe60b127408a9.tar.bz2
Update nitrokey crate to 0.4.0
This change finally updates the version of the nitrokey crate that we consume to 0.4.0. Along with that we update rand_core, one of its dependencies, to 0.5.1. Further more we add cfg-if in version 0.1.10 and getrandom in version 0.1.13, both of which are now new (non-development) dependencies. Import subrepo nitrokey/:nitrokey at e81057037e9b4f370b64c0a030a725bc6bdfb870 Import subrepo cfg-if/:cfg-if at 4484a6faf816ff8058088ad857b0c6bb2f4b02b2 Import subrepo getrandom/:getrandom at d661aa7e1b8cc80b47dabe3d2135b3b47d2858af Import subrepo rand/:rand at d877ed528248b52d947e0484364a4e1ae59ca502
Diffstat (limited to 'rand/rand_os/tests/mod.rs')
-rw-r--r--rand/rand_os/tests/mod.rs80
1 files changed, 0 insertions, 80 deletions
diff --git a/rand/rand_os/tests/mod.rs b/rand/rand_os/tests/mod.rs
deleted file mode 100644
index 2130e16..0000000
--- a/rand/rand_os/tests/mod.rs
+++ /dev/null
@@ -1,80 +0,0 @@
-extern crate rand_os;
-
-use rand_os::rand_core::RngCore;
-use rand_os::OsRng;
-
-#[test]
-fn test_os_rng() {
- let mut r = OsRng::new().unwrap();
-
- r.next_u32();
- r.next_u64();
-
- let mut v1 = [0u8; 1000];
- r.fill_bytes(&mut v1);
-
- let mut v2 = [0u8; 1000];
- r.fill_bytes(&mut v2);
-
- let mut n_diff_bits = 0;
- for i in 0..v1.len() {
- n_diff_bits += (v1[i] ^ v2[i]).count_ones();
- }
-
- // Check at least 1 bit per byte differs. p(failure) < 1e-1000 with random input.
- assert!(n_diff_bits >= v1.len() as u32);
-}
-
-#[test]
-fn test_os_rng_empty() {
- let mut r = OsRng::new().unwrap();
-
- let mut empty = [0u8; 0];
- r.fill_bytes(&mut empty);
-}
-
-#[test]
-fn test_os_rng_huge() {
- let mut r = OsRng::new().unwrap();
-
- let mut huge = [0u8; 100_000];
- r.fill_bytes(&mut huge);
-}
-
-#[cfg(not(any(target_arch = "wasm32", target_arch = "asmjs")))]
-#[test]
-fn test_os_rng_tasks() {
- use std::sync::mpsc::channel;
- use std::thread;
-
- let mut txs = vec!();
- for _ in 0..20 {
- let (tx, rx) = channel();
- txs.push(tx);
-
- thread::spawn(move|| {
- // wait until all the tasks are ready to go.
- rx.recv().unwrap();
-
- // deschedule to attempt to interleave things as much
- // as possible (XXX: is this a good test?)
- let mut r = OsRng::new().unwrap();
- thread::yield_now();
- let mut v = [0u8; 1000];
-
- for _ in 0..100 {
- r.next_u32();
- thread::yield_now();
- r.next_u64();
- thread::yield_now();
- r.fill_bytes(&mut v);
- thread::yield_now();
- }
- });
- }
-
- // start all the tasks
- for tx in txs.iter() {
- tx.send(()).unwrap();
- }
-}