diff options
Diffstat (limited to 'std/wasi/testdata')
-rw-r--r-- | std/wasi/testdata/fixture/directory/file | 1 | ||||
l--------- | std/wasi/testdata/fixture/directory/symlink_to_file | 1 | ||||
-rw-r--r-- | std/wasi/testdata/fixture/file | 1 | ||||
l--------- | std/wasi/testdata/fixture/symlink_to_directory | 1 | ||||
l--------- | std/wasi/testdata/fixture/symlink_to_file | 1 | ||||
-rw-r--r-- | std/wasi/testdata/std_fs_metadata.rs | 28 | ||||
-rw-r--r-- | std/wasi/testdata/std_fs_read.rs | 17 | ||||
-rw-r--r-- | std/wasi/testdata/std_fs_write.rs | 5 |
8 files changed, 55 insertions, 0 deletions
diff --git a/std/wasi/testdata/fixture/directory/file b/std/wasi/testdata/fixture/directory/file new file mode 100644 index 000000000..3c4dadafb --- /dev/null +++ b/std/wasi/testdata/fixture/directory/file @@ -0,0 +1 @@ +directory/file diff --git a/std/wasi/testdata/fixture/directory/symlink_to_file b/std/wasi/testdata/fixture/directory/symlink_to_file new file mode 120000 index 000000000..1a010b1c0 --- /dev/null +++ b/std/wasi/testdata/fixture/directory/symlink_to_file @@ -0,0 +1 @@ +file
\ No newline at end of file diff --git a/std/wasi/testdata/fixture/file b/std/wasi/testdata/fixture/file new file mode 100644 index 000000000..f73f3093f --- /dev/null +++ b/std/wasi/testdata/fixture/file @@ -0,0 +1 @@ +file diff --git a/std/wasi/testdata/fixture/symlink_to_directory b/std/wasi/testdata/fixture/symlink_to_directory new file mode 120000 index 000000000..6d0450cc2 --- /dev/null +++ b/std/wasi/testdata/fixture/symlink_to_directory @@ -0,0 +1 @@ +directory
\ No newline at end of file diff --git a/std/wasi/testdata/fixture/symlink_to_file b/std/wasi/testdata/fixture/symlink_to_file new file mode 120000 index 000000000..1a010b1c0 --- /dev/null +++ b/std/wasi/testdata/fixture/symlink_to_file @@ -0,0 +1 @@ +file
\ No newline at end of file diff --git a/std/wasi/testdata/std_fs_metadata.rs b/std/wasi/testdata/std_fs_metadata.rs new file mode 100644 index 000000000..914e9ab74 --- /dev/null +++ b/std/wasi/testdata/std_fs_metadata.rs @@ -0,0 +1,28 @@ +// { "preopens": { "/fixture": "fixture" } } + +fn main() { + let metadata = std::fs::metadata("/fixture/directory").unwrap(); + assert!(metadata.is_dir()); + assert!(metadata.len() > 0); + + let metadata = std::fs::metadata("/fixture/symlink_to_directory").unwrap(); + assert!(metadata.is_dir()); + assert!(metadata.len() > 0); + + let metadata = std::fs::metadata("/fixture/file").unwrap(); + assert!(metadata.is_file()); + assert!(metadata.len() > 0); + + let metadata = std::fs::metadata("/fixture/symlink_to_file").unwrap(); + assert!(metadata.is_file()); + assert!(metadata.len() > 0); + + let metadata = std::fs::metadata("/fixture/directory/file").unwrap(); + assert!(metadata.is_file()); + assert!(metadata.len() > 0); + + let metadata = + std::fs::metadata("/fixture/directory/symlink_to_file").unwrap(); + assert!(metadata.is_file()); + assert!(metadata.len() > 0); +} diff --git a/std/wasi/testdata/std_fs_read.rs b/std/wasi/testdata/std_fs_read.rs new file mode 100644 index 000000000..aa19d3ba4 --- /dev/null +++ b/std/wasi/testdata/std_fs_read.rs @@ -0,0 +1,17 @@ +// { "preopens": { "/fixture": "fixture" } } + +fn main() { + assert_eq!(std::fs::read("/fixture/file").unwrap(), b"file\n"); + assert_eq!( + std::fs::read("/fixture/symlink_to_file").unwrap(), + b"file\n" + ); + assert_eq!( + std::fs::read("/fixture/directory/file").unwrap(), + b"directory/file\n" + ); + assert_eq!( + std::fs::read("/fixture/directory/symlink_to_file").unwrap(), + b"directory/file\n" + ); +} diff --git a/std/wasi/testdata/std_fs_write.rs b/std/wasi/testdata/std_fs_write.rs new file mode 100644 index 000000000..91f8ca160 --- /dev/null +++ b/std/wasi/testdata/std_fs_write.rs @@ -0,0 +1,5 @@ +// { "preopens": { "/scratch": "scratch" }, "files": { "scratch/file": "file" } } + +fn main() { + assert!(std::fs::write("/scratch/file", b"file").is_ok()) +} |