path_get refactor and implementation of missing path_ hostcalls on Windows (#41)
* Move path_get outside of sys module * Add implementation of readlinkat * Clean up path_open; use OpenOptions as much as possible * Enable close_preopen test * Implement path_create_directory; fix path_open * Refactor path concatenation onto a descriptor * Implement path_remove_directory * Implement path_unlink_file * Rewrite path_open using specific access mask * Fix error mapping when unlinking file * Fix readlinkat to pass nofollow_errors testcase * Clean up winerror to WASI conversion * Spoof creating dangling symlinks on windows (hacky!) * Add positive testcase for readlink * Implement path_readlink (for nonzero buffers for now) * Clean up * Add Symlink struct immitating *nix symlink * Fix path_readlink * Augment interesting_paths testcase with trailing slashes example * Encapsulate path_get return value as PathGet struct * Remove dangling symlink emulation * Extract dangling symlinks into its own testcase This way, we can re-enable nofollow_errors testcase on Windows also. * Return __WASI_ENOTCAPABLE if user lacks perms to symlink
This commit is contained in:
12
build.rs
12
build.rs
@@ -131,12 +131,12 @@ cfg_if::cfg_if! {
|
||||
fn ignore(testsuite: &str, name: &str) -> bool {
|
||||
if testsuite == "misc_testsuite" {
|
||||
match name {
|
||||
"big_random_buf" => false,
|
||||
"sched_yield" => false,
|
||||
"file_pread_pwrite" => false,
|
||||
"renumber" => false,
|
||||
"file_seek_tell" => false,
|
||||
_ => true,
|
||||
"readlink_no_buffer" => true,
|
||||
"dangling_symlink" => true,
|
||||
"symlink_loop" => true,
|
||||
"clock_time_get" => true,
|
||||
"truncation_rights" => true,
|
||||
_ => false,
|
||||
}
|
||||
} else {
|
||||
unreachable!()
|
||||
|
||||
Reference in New Issue
Block a user