TODOs: * File::reopen_with_fdflags is unimplemented, File::get_fdflags is lying - these are fcntl on unix, reopenfile / require reopening on windows. # Linux * path_link - need DirExt::hard_link that follows symlinks. * path_rename_trailing_slashes - trailing slash behavior of files is wrong: trailing slashes are ignored, should cause an error. * remove_directory_trailing_slashes - cap-std Dir::remove_dir gives EINVAL when trying to remove dir with trailing slash. otherwise, everything passes. * fd_flags_set - set_fdflags is not implemented. test wanted to clear O_APPEND mode * path_filestat - fdstat.fs_flags is not populated correctly - APPEND | SYNC aren't present because File::get_fdflags isnt implemented correctly # Windows * fd_readdir - DirEntry metadata ino panics on windows: https://github.com/bytecodealliance/cap-std/issues/142 * file_allocate - call to fd_allocate(10,10) reduces size from 100 to 20 * interesting_paths - on windows, opening a directory with a trailing slash fails * nofollow_errors - I loosened up some errno acceptance but windows requires rmdir to delete a symlink to a directory, rather than unlink_file * symlink_create - narrowed down the symlink delete issue that only shows up on linux * path_rename - permission denied on windows to rename a dir to an existing empty dir * path_link - fails on the first dangling symlink, which is before the hard_link following symlinks issue linux hits. ## "Trailing slashes are a bonified boondoggle" - Dan * path_rename_trailing_slashes * path_symlink_trailing_slashes * remove_directory_trailing_slashes * unlink_file_trailing_slashes ## Same missing functionality as over in Linux: * fd_flags_set * path_filestat