| 8 | |
| 9 | #[no_mangle] |
| 10 | pub fn main() -> i32 { |
| 11 | let test_str = "Hello, world!"; |
| 12 | let filea = "filea\0"; |
| 13 | let fd = open(filea, OpenFlags::CREATE | OpenFlags::WRONLY); |
| 14 | assert!(fd > 0); |
| 15 | let fd = fd as usize; |
| 16 | write(fd, test_str.as_bytes()); |
| 17 | close(fd); |
| 18 | |
| 19 | let fd = open(filea, OpenFlags::RDONLY); |
| 20 | assert!(fd > 0); |
| 21 | let fd = fd as usize; |
| 22 | let mut buffer = [0u8; 100]; |
| 23 | let read_len = read(fd, &mut buffer) as usize; |
| 24 | close(fd); |
| 25 | |
| 26 | assert_eq!(test_str, core::str::from_utf8(&buffer[..read_len]).unwrap(),); |
| 27 | println!("file_test passed!"); |
| 28 | 0 |
| 29 | } |