Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
49
third-party/vendor/nix/test/test_nmount.rs
vendored
Normal file
49
third-party/vendor/nix/test/test_nmount.rs
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
use crate::*;
|
||||
use nix::{
|
||||
errno::Errno,
|
||||
mount::{unmount, MntFlags, Nmount},
|
||||
};
|
||||
use std::{ffi::CString, fs::File, path::Path};
|
||||
use tempfile::tempdir;
|
||||
|
||||
#[test]
|
||||
fn ok() {
|
||||
require_mount!("nullfs");
|
||||
|
||||
let mountpoint = tempdir().unwrap();
|
||||
let target = tempdir().unwrap();
|
||||
let _sentry = File::create(target.path().join("sentry")).unwrap();
|
||||
|
||||
let fstype = CString::new("fstype").unwrap();
|
||||
let nullfs = CString::new("nullfs").unwrap();
|
||||
Nmount::new()
|
||||
.str_opt(&fstype, &nullfs)
|
||||
.str_opt_owned("fspath", mountpoint.path().to_str().unwrap())
|
||||
.str_opt_owned("target", target.path().to_str().unwrap())
|
||||
.nmount(MntFlags::empty())
|
||||
.unwrap();
|
||||
|
||||
// Now check that the sentry is visible through the mountpoint
|
||||
let exists = Path::exists(&mountpoint.path().join("sentry"));
|
||||
|
||||
// Cleanup the mountpoint before asserting
|
||||
unmount(mountpoint.path(), MntFlags::empty()).unwrap();
|
||||
|
||||
assert!(exists);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn bad_fstype() {
|
||||
let mountpoint = tempdir().unwrap();
|
||||
let target = tempdir().unwrap();
|
||||
let _sentry = File::create(target.path().join("sentry")).unwrap();
|
||||
|
||||
let e = Nmount::new()
|
||||
.str_opt_owned("fspath", mountpoint.path().to_str().unwrap())
|
||||
.str_opt_owned("target", target.path().to_str().unwrap())
|
||||
.nmount(MntFlags::empty())
|
||||
.unwrap_err();
|
||||
|
||||
assert_eq!(e.error(), Errno::EINVAL);
|
||||
assert_eq!(e.errmsg(), Some("Invalid fstype"));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue