summaryrefslogtreecommitdiff
path: root/std/wasi/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'std/wasi/testdata')
-rw-r--r--std/wasi/testdata/fixture/directory/file1
l---------std/wasi/testdata/fixture/directory/symlink_to_file1
-rw-r--r--std/wasi/testdata/fixture/file1
l---------std/wasi/testdata/fixture/symlink_to_directory1
l---------std/wasi/testdata/fixture/symlink_to_file1
-rw-r--r--std/wasi/testdata/std_fs_metadata.rs28
-rw-r--r--std/wasi/testdata/std_fs_read.rs17
-rw-r--r--std/wasi/testdata/std_fs_write.rs5
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())
+}