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

#![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() {
}