1*3f3d65b0SAlex Crichton use test_programs::p3::wasi::random; 2*3f3d65b0SAlex Crichton 3*3f3d65b0SAlex Crichton struct Component; 4*3f3d65b0SAlex Crichton 5*3f3d65b0SAlex Crichton test_programs::p3::export!(Component); 6*3f3d65b0SAlex Crichton 7*3f3d65b0SAlex Crichton impl test_programs::p3::exports::wasi::cli::run::Guest for Component { run() -> Result<(), ()>8*3f3d65b0SAlex Crichton async fn run() -> Result<(), ()> { 9*3f3d65b0SAlex Crichton let args = std::env::args().collect::<Vec<_>>(); 10*3f3d65b0SAlex Crichton let args = args.iter().map(|s| s.as_str()).collect::<Vec<_>>(); 11*3f3d65b0SAlex Crichton match &args[1..] { 12*3f3d65b0SAlex Crichton ["random", n] => { 13*3f3d65b0SAlex Crichton random::random::get_random_bytes(n.parse().unwrap()); 14*3f3d65b0SAlex Crichton } 15*3f3d65b0SAlex Crichton ["insecure", n] => { 16*3f3d65b0SAlex Crichton random::insecure::get_insecure_random_bytes(n.parse().unwrap()); 17*3f3d65b0SAlex Crichton } 18*3f3d65b0SAlex Crichton other => { 19*3f3d65b0SAlex Crichton panic!("unexpected args: {other:?}"); 20*3f3d65b0SAlex Crichton } 21*3f3d65b0SAlex Crichton } 22*3f3d65b0SAlex Crichton Ok(()) 23*3f3d65b0SAlex Crichton } 24*3f3d65b0SAlex Crichton } 25*3f3d65b0SAlex Crichton main()26*3f3d65b0SAlex Crichtonfn main() {} 27