1*b315a0a8SYosh use std::str;
2*b315a0a8SYosh 
main()3*b315a0a8SYosh fn main() {
4*b315a0a8SYosh     dbg!(wasip2::filesystem::preopens::get_directories());
5*b315a0a8SYosh     unsafe {
6*b315a0a8SYosh         let p3 = wasip1::fd_prestat_get(3).unwrap();
7*b315a0a8SYosh         let p4 = wasip1::fd_prestat_get(4).unwrap();
8*b315a0a8SYosh         let p5 = wasip1::fd_prestat_get(5).unwrap();
9*b315a0a8SYosh         assert_eq!(wasip1::fd_prestat_get(6).err().unwrap(), wasip1::ERRNO_BADF);
10*b315a0a8SYosh 
11*b315a0a8SYosh         assert_eq!(p3.u.dir.pr_name_len, 2);
12*b315a0a8SYosh         assert_eq!(p4.u.dir.pr_name_len, 2);
13*b315a0a8SYosh         assert_eq!(p5.u.dir.pr_name_len, 2);
14*b315a0a8SYosh 
15*b315a0a8SYosh         let mut buf = [0; 100];
16*b315a0a8SYosh 
17*b315a0a8SYosh         wasip1::fd_prestat_dir_name(3, buf.as_mut_ptr(), buf.len()).unwrap();
18*b315a0a8SYosh         assert_eq!(str::from_utf8(&buf[..2]).unwrap(), "/a");
19*b315a0a8SYosh         wasip1::fd_prestat_dir_name(4, buf.as_mut_ptr(), buf.len()).unwrap();
20*b315a0a8SYosh         assert_eq!(str::from_utf8(&buf[..2]).unwrap(), "/b");
21*b315a0a8SYosh         wasip1::fd_prestat_dir_name(5, buf.as_mut_ptr(), buf.len()).unwrap();
22*b315a0a8SYosh         assert_eq!(str::from_utf8(&buf[..2]).unwrap(), "/c");
23*b315a0a8SYosh         assert_eq!(
24*b315a0a8SYosh             wasip1::fd_prestat_dir_name(6, buf.as_mut_ptr(), buf.len()),
25*b315a0a8SYosh             Err(wasip1::ERRNO_BADF),
26*b315a0a8SYosh         );
27*b315a0a8SYosh     }
28*b315a0a8SYosh     // ..
29*b315a0a8SYosh }
30