summaryrefslogtreecommitdiff
path: root/std/wasi
diff options
context:
space:
mode:
Diffstat (limited to 'std/wasi')
-rw-r--r--std/wasi/testdata/std_fs_file_read.rs16
-rw-r--r--std/wasi/testdata/std_fs_file_write.rs9
2 files changed, 25 insertions, 0 deletions
diff --git a/std/wasi/testdata/std_fs_file_read.rs b/std/wasi/testdata/std_fs_file_read.rs
new file mode 100644
index 000000000..332e008f1
--- /dev/null
+++ b/std/wasi/testdata/std_fs_file_read.rs
@@ -0,0 +1,16 @@
+// { "preopens": { "/fixture": "fixture" } }
+
+use std::io::Read;
+
+fn main() {
+ let mut file = std::fs::File::open("/fixture/file").unwrap();
+ let mut buffer = [0; 2];
+
+ assert_eq!(file.read(&mut buffer).unwrap(), 2);
+ assert_eq!(&buffer, b"fi");
+
+ assert_eq!(file.read(&mut buffer).unwrap(), 2);
+ assert_eq!(&buffer, b"le");
+
+ assert_eq!(file.read(&mut buffer).unwrap(), 1);
+}
diff --git a/std/wasi/testdata/std_fs_file_write.rs b/std/wasi/testdata/std_fs_file_write.rs
new file mode 100644
index 000000000..6e646ba1d
--- /dev/null
+++ b/std/wasi/testdata/std_fs_file_write.rs
@@ -0,0 +1,9 @@
+// { "preopens": { "/scratch": "scratch" }, "files": { "scratch/file": "file" } }
+
+use std::io::Write;
+
+fn main() {
+ let mut file = std::fs::File::create("/scratch/file").unwrap();
+ assert_eq!(file.write(b"fi").unwrap(), 2);
+ assert_eq!(file.write(b"le").unwrap(), 2);
+}