mirror of
https://github.com/fluencelabs/wasmer
synced 2024-12-14 14:45:40 +00:00
52 lines
1.3 KiB
Rust
52 lines
1.3 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);
|
|
}
|
|
std::fs::remove_file(&file).unwrap();
|
|
}
|