1*2a08713aSRalph Squillace use test_programs::p3::wasi::random; 2*2a08713aSRalph Squillace 3*2a08713aSRalph Squillace struct Component; 4*2a08713aSRalph Squillace 5*2a08713aSRalph Squillace test_programs::p3::export!(Component); 6*2a08713aSRalph Squillace 7*2a08713aSRalph Squillace impl test_programs::p3::exports::wasi::cli::run::Guest for Component { run() -> Result<(), ()>8*2a08713aSRalph Squillace async fn run() -> Result<(), ()> { 9*2a08713aSRalph Squillace test_big_random_buf().await; 10*2a08713aSRalph Squillace Ok(()) 11*2a08713aSRalph Squillace } 12*2a08713aSRalph Squillace } 13*2a08713aSRalph Squillace main()14*2a08713aSRalph Squillacefn main() { 15*2a08713aSRalph Squillace unreachable!() 16*2a08713aSRalph Squillace } 17*2a08713aSRalph Squillace test_big_random_buf()18*2a08713aSRalph Squillaceasync fn test_big_random_buf() { 19*2a08713aSRalph Squillace let buf = random::random::get_random_bytes(1024); 20*2a08713aSRalph Squillace // Chances are pretty good that at least *one* byte will be non-zero in 21*2a08713aSRalph Squillace // any meaningful random function producing 1024 u8 values. 22*2a08713aSRalph Squillace assert!(buf.iter().any(|x| *x != 0), "random_get returned all zeros"); 23*2a08713aSRalph Squillace } 24