mirror of
https://github.com/fluencelabs/wasmer
synced 2025-03-30 06:21:04 +00:00
49 lines
1.2 KiB
Rust
49 lines
1.2 KiB
Rust
|
// Args:
|
||
|
// mapdir: .:wasitests/test_fs/temp
|
||
|
|
||
|
use std::fs::OpenOptions;
|
||
|
use std::io::{Read, Write};
|
||
|
use std::path::PathBuf;
|
||
|
|
||
|
static STR1: &str = "Hello, world!\n";
|
||
|
static STR2: &str = "Goodbye, world!\n";
|
||
|
|
||
|
fn main() {
|
||
|
let file = {
|
||
|
#[cfg(not(target_os = "wasi"))]
|
||
|
let mut base = PathBuf::from("wasitests/test_fs/temp");
|
||
|
#[cfg(target_os = "wasi")]
|
||
|
let mut base = PathBuf::from(".");
|
||
|
|
||
|
base.push("fd_append_test");
|
||
|
base
|
||
|
};
|
||
|
|
||
|
{
|
||
|
let mut file_handle = OpenOptions::new()
|
||
|
.create_new(true)
|
||
|
.append(true)
|
||
|
.open(&file)
|
||
|
.expect("Couldn't create file");
|
||
|
file_handle.write(STR1.as_bytes()).unwrap();
|
||
|
}
|
||
|
{
|
||
|
let mut file_handle = OpenOptions::new()
|
||
|
.append(true)
|
||
|
.open(&file)
|
||
|
.expect("Couldn't reopen file to append");
|
||
|
file_handle.write(STR2.as_bytes()).unwrap();
|
||
|
}
|
||
|
|
||
|
let mut file_handle = OpenOptions::new()
|
||
|
.read(true)
|
||
|
.open(&file)
|
||
|
.expect("Couldn't reopen file to read");
|
||
|
|
||
|
let mut test = String::new();
|
||
|
file_handle.read_to_string(&mut test);
|
||
|
|
||
|
assert_eq!(&test, &format!("{}{}", STR1, STR2));
|
||
|
println!("{:?}", &test);
|
||
|
}
|