You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.4 KiB
74 lines
1.4 KiB
#![allow(dead_code)]
|
|
|
|
pub const BUFFER_SIZE: usize = 4096;
|
|
|
|
mod bytes;
|
|
mod error;
|
|
mod hash;
|
|
mod container;
|
|
mod config;
|
|
mod arg;
|
|
mod proc;
|
|
|
|
|
|
#[cfg(test)]
|
|
mod test {
|
|
use super::*;
|
|
use std::{
|
|
path::Path,
|
|
};
|
|
|
|
#[test]
|
|
pub fn args() -> Result<(), arg::Error>
|
|
{
|
|
macro_rules! string_literal {
|
|
($($strings:expr),*) => {
|
|
vec![$(
|
|
format!($strings),
|
|
)*]
|
|
}
|
|
}
|
|
let args = string_literal!["-lsd", "--load-file", "hello", "--load-save", "load-save!", "--", "test-input", "test-input", "test-input-3", "test-input-2"];
|
|
println!("{:?}", arg::parse(args)?);
|
|
Ok(())
|
|
}
|
|
|
|
#[test]
|
|
pub fn test() -> Result<(), error::Error>
|
|
{
|
|
let mut cont = container::DupeMap::new();
|
|
let mode = config::Mode::default();
|
|
let path = Path::new("test-input");
|
|
|
|
assert_eq!(proc::DupeCount{total:4, dupes:2}, proc::do_dir(path, 0, &mut cont, &mode)?);
|
|
|
|
Ok(())
|
|
}
|
|
|
|
#[cfg(feature="threads")]
|
|
pub async fn _test_async() -> Result<(), error::Error>
|
|
{
|
|
use std::sync::Arc;
|
|
use tokio::{
|
|
sync::Mutex,
|
|
};
|
|
let cont = Arc::new(Mutex::new(container::DupeMap::new()));
|
|
let mode = config::Mode::default();
|
|
let path = Path::new("test-input");
|
|
|
|
assert_eq!(proc::DupeCount{total:4, dupes:2}, proc::do_dir_async(path, 0, cont, mode).await?);
|
|
|
|
Ok(())
|
|
}
|
|
#[cfg(feature="threads")]
|
|
#[test]
|
|
pub fn test_async() -> Result<(), error::Error>
|
|
{
|
|
tokio_test::block_on(_test_async())
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
|
|
}
|