Create test for load/store fifo node
This commit is contained in:
parent
d26a5c5805
commit
b534cf6d49
39
src/node.rs
39
src/node.rs
@ -407,8 +407,8 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn load_store_file() {
|
fn load_store_file() {
|
||||||
{
|
{
|
||||||
let fd = std::fs::File::create("test/li.node").unwrap();
|
let fd = fs::File::create("test/li.node").unwrap();
|
||||||
let mut writer = std::io::BufWriter::new(fd);
|
let mut writer = BufWriter::new(fd);
|
||||||
let links = Mutex::new(HashMap::new());
|
let links = Mutex::new(HashMap::new());
|
||||||
let node = Node::from_path("test/li.txt", Algorithm::Sha1, &links).unwrap();
|
let node = Node::from_path("test/li.txt", Algorithm::Sha1, &links).unwrap();
|
||||||
let FileType::Normal(_) = node.filetype else {
|
let FileType::Normal(_) = node.filetype else {
|
||||||
@ -418,7 +418,7 @@ mod tests {
|
|||||||
node.write(&mut writer).unwrap();
|
node.write(&mut writer).unwrap();
|
||||||
}
|
}
|
||||||
let meta = fs::metadata("test/li.txt").unwrap();
|
let meta = fs::metadata("test/li.txt").unwrap();
|
||||||
let fd = std::fs::File::open("test/li.node").unwrap();
|
let fd = fs::File::open("test/li.node").unwrap();
|
||||||
let mut reader = BufReader::new(fd);
|
let mut reader = BufReader::new(fd);
|
||||||
let node = Node::read(&mut reader).unwrap();
|
let node = Node::read(&mut reader).unwrap();
|
||||||
assert_eq!(meta.mode() & 0o777, node.mode as u32);
|
assert_eq!(meta.mode() & 0o777, node.mode as u32);
|
||||||
@ -446,8 +446,8 @@ mod tests {
|
|||||||
let _res = remove_file("test/lilnk.txt");
|
let _res = remove_file("test/lilnk.txt");
|
||||||
symlink("li.txt", "test/lilnk.txt").unwrap();
|
symlink("li.txt", "test/lilnk.txt").unwrap();
|
||||||
let _res = remove_file("test/lilnk.node");
|
let _res = remove_file("test/lilnk.node");
|
||||||
let fd = std::fs::File::create("test/lilnk.node").unwrap();
|
let fd = fs::File::create("test/lilnk.node").unwrap();
|
||||||
let mut writer = std::io::BufWriter::new(fd);
|
let mut writer = BufWriter::new(fd);
|
||||||
let links = Mutex::new(HashMap::new());
|
let links = Mutex::new(HashMap::new());
|
||||||
let node = Node::from_path("test/lilnk.txt", Algorithm::Sha1, &links).unwrap();
|
let node = Node::from_path("test/lilnk.txt", Algorithm::Sha1, &links).unwrap();
|
||||||
let FileType::SoftLink(ref tgt) = node.filetype else {
|
let FileType::SoftLink(ref tgt) = node.filetype else {
|
||||||
@ -473,8 +473,8 @@ mod tests {
|
|||||||
let _res = remove_file("test/lihlnk.txt");
|
let _res = remove_file("test/lihlnk.txt");
|
||||||
fs::hard_link("test/li.txt", "test/lihlnk.txt").unwrap();
|
fs::hard_link("test/li.txt", "test/lihlnk.txt").unwrap();
|
||||||
let _res = remove_file("test/lihlnk.node");
|
let _res = remove_file("test/lihlnk.node");
|
||||||
let fd = std::fs::File::create("test/lihlnk.node").unwrap();
|
let fd = fs::File::create("test/lihlnk.node").unwrap();
|
||||||
let mut writer = std::io::BufWriter::new(fd);
|
let mut writer = BufWriter::new(fd);
|
||||||
let links = Mutex::new(HashMap::new());
|
let links = Mutex::new(HashMap::new());
|
||||||
let _node = Node::from_path("test/li.txt", Algorithm::Sha1, &links).unwrap();
|
let _node = Node::from_path("test/li.txt", Algorithm::Sha1, &links).unwrap();
|
||||||
let node = Node::from_path("test/lihlnk.txt", Algorithm::Sha1, &links).unwrap();
|
let node = Node::from_path("test/lihlnk.txt", Algorithm::Sha1, &links).unwrap();
|
||||||
@ -495,6 +495,31 @@ mod tests {
|
|||||||
assert_eq!(tgt, "test/li.txt");
|
assert_eq!(tgt, "test/li.txt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn load_store_fifo() {
|
||||||
|
{
|
||||||
|
let _res = remove_file("test/fifo");
|
||||||
|
nix::mkfifo("test/fifo", 0o644).unwrap();
|
||||||
|
let links = Mutex::new(HashMap::new());
|
||||||
|
let node = Node::from_path("test/fifo", Algorithm::Skip, &links).unwrap();
|
||||||
|
let FileType::Fifo = node.filetype else {
|
||||||
|
eprintln!("Incorrect filetype: {:?}", node.filetype);
|
||||||
|
panic!();
|
||||||
|
};
|
||||||
|
let _res = remove_file("test/fifo.node");
|
||||||
|
let fd = fs::File::create("test/fifo.node").unwrap();
|
||||||
|
let mut writer = BufWriter::new(fd);
|
||||||
|
node.write(&mut writer).unwrap();
|
||||||
|
}
|
||||||
|
let fd = fs::File::open("test/fifo.node").unwrap();
|
||||||
|
let mut reader = BufReader::new(fd);
|
||||||
|
let node = Node::read(&mut reader).unwrap();
|
||||||
|
let FileType::Fifo = node.filetype else {
|
||||||
|
eprintln!("Read incorrect filetype: {:?}", node.filetype);
|
||||||
|
panic!();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn extract_file() {
|
fn extract_file() {
|
||||||
let links = Mutex::new(HashMap::new());
|
let links = Mutex::new(HashMap::new());
|
||||||
|
Loading…
Reference in New Issue
Block a user