From 00de205e006aabb69e03172c04da869c18cd776f Mon Sep 17 00:00:00 2001 From: LokiSharp Date: Fri, 15 Dec 2023 22:27:53 +0800 Subject: [PATCH] Test remove file after read --- src/lib.rs | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 6ba98eaa..ef5d1893 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1413,7 +1413,7 @@ mod test { #[cfg(unix)] use crate::advice::{Advice, UncheckedAdvice}; - use std::fs::{File, OpenOptions}; + use std::fs::{self, File, OpenOptions}; use std::io::{Read, Write}; use std::mem; #[cfg(unix)] @@ -1571,6 +1571,30 @@ mod test { assert_eq!(write, &read); } + #[test] + fn file_remove() { + let tempdir = tempfile::tempdir().unwrap(); + let path = tempdir.path().join("mmap"); + + let mut file = OpenOptions::new() + .read(true) + .write(true) + .create(true) + .open(path.clone()) + .unwrap(); + file.set_len(128).unwrap(); + + let mmap = unsafe { Mmap::map(&file) }; + + assert!(mmap.is_ok()); + + let remove_res = fs::remove_file(path.clone()); + if remove_res.is_err() { + println!("remove_res: {:?}", remove_res); + } + assert!(remove_res.is_ok()); + } + #[test] fn flush_range() { let tempdir = tempfile::tempdir().unwrap();