mirror of
https://github.com/fluencelabs/wasmer
synced 2024-12-05 02:20:19 +00:00
57 lines
2.0 KiB
Rust
57 lines
2.0 KiB
Rust
// WASI:
|
|
// mapdir: temp:tests/wasi_test_resources/test_fs/temp
|
|
|
|
use std::fs;
|
|
use std::io::{Read, Write};
|
|
use std::path::PathBuf;
|
|
|
|
fn main() {
|
|
#[cfg(not(target_os = "wasi"))]
|
|
let mut base = PathBuf::from("tests/wasi_test_resources/test_fs");
|
|
#[cfg(target_os = "wasi")]
|
|
let mut base = PathBuf::from("/");
|
|
|
|
let file_to_create = base.join("temp/path_rename_file.txt");
|
|
let file_to_rename_to = base.join("temp/path_renamed_file.txt");
|
|
|
|
{
|
|
let mut f = std::fs::OpenOptions::new()
|
|
.create_new(true)
|
|
.write(true)
|
|
.open(&file_to_create)
|
|
.unwrap();
|
|
|
|
// text from https://ja.wikipedia.org/wiki/柴犬
|
|
let shiba_string = "「柴犬」という名前は中央高地で使われていたもので、文献上では、昭和初期の日本犬保存会の会誌「日本犬」で用いられている。一般的には、「柴」は小ぶりな雑木を指す。
|
|
由来には諸説があり、
|
|
|
|
柴藪を巧みにくぐり抜けて猟を助けることから
|
|
赤褐色の毛色が枯れ柴に似ている(柴赤)ことから
|
|
小さなものを表す古語の「柴」から
|
|
|
|
の3つの説が代表的。";
|
|
let shiba_bytes: Vec<u8> = shiba_string.bytes().collect();
|
|
f.write_all(&shiba_bytes[..]).unwrap();
|
|
}
|
|
|
|
std::fs::rename(&file_to_create, &file_to_rename_to).unwrap();
|
|
let mut file = fs::File::open(&file_to_rename_to).expect("Could not open file");
|
|
if file_to_create.exists() {
|
|
println!("The original file still exists!");
|
|
return;
|
|
} else {
|
|
println!("The original file does not still exist!");
|
|
}
|
|
|
|
let mut out_str = String::new();
|
|
file.read_to_string(&mut out_str).unwrap();
|
|
let mut test_str = String::new();
|
|
let mut out_chars = out_str.chars();
|
|
out_chars.next().unwrap();
|
|
test_str.push(out_chars.next().unwrap());
|
|
test_str.push(out_chars.next().unwrap());
|
|
|
|
println!("{}", test_str);
|
|
std::fs::remove_file(file_to_rename_to).unwrap();
|
|
}
|