Add test for posix_fadvise
This commit is contained in:
parent
01b5e8260e
commit
4e42e77483
1 changed files with 15 additions and 0 deletions
|
|
@ -1,8 +1,13 @@
|
|||
// ignore-windows: File handling is not implemented yet
|
||||
// compile-flags: -Zmiri-disable-isolation
|
||||
|
||||
#![feature(rustc_private)]
|
||||
|
||||
extern crate libc;
|
||||
|
||||
use std::fs::{File, remove_file};
|
||||
use std::io::{Read, Write, ErrorKind, Result};
|
||||
use std::os::unix::io::AsRawFd;
|
||||
use std::path::{PathBuf, Path};
|
||||
|
||||
fn test_metadata(bytes: &[u8], path: &Path) -> Result<()> {
|
||||
|
|
@ -40,6 +45,16 @@ fn main() {
|
|||
file.read_to_end(&mut contents).unwrap();
|
||||
assert_eq!(bytes, contents.as_slice());
|
||||
|
||||
// Test calling posix_fadvise on the file.
|
||||
unsafe {
|
||||
libc::posix_fadvise(
|
||||
file.as_raw_fd(),
|
||||
0,
|
||||
bytes.len() as i64,
|
||||
libc::POSIX_FADV_DONTNEED,
|
||||
);
|
||||
}
|
||||
|
||||
// Test that metadata of an absolute path is correct.
|
||||
test_metadata(bytes, &path).unwrap();
|
||||
// Test that metadata of a relative path is correct.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue