Added Verbosity as an argument to functions
ci/woodpecker/push/workflow Pipeline was successful
Details
ci/woodpecker/push/workflow Pipeline was successful
Details
parent
4cd54923c9
commit
b4cab67e28
|
@ -8,30 +8,30 @@ pub fn validate(verbosity: u8, config: util::config::Config) {
|
||||||
let in_suffix = "in"; //TODO make this configurable?
|
let in_suffix = "in"; //TODO make this configurable?
|
||||||
let out_suffix = "out";
|
let out_suffix = "out";
|
||||||
// get list of all file names in input/output
|
// get list of all file names in input/output
|
||||||
let in_files: Vec<PathBuf> = get_dir_files(&config.input_path).expect("Failed to read the input directory contents");
|
let in_files: Vec<PathBuf> = get_dir_files(&config.input_path, verbosity).expect("Failed to read the input directory contents");
|
||||||
let out_files: Vec<PathBuf> = get_dir_files(&config.output_path).expect("Failed to read the output directory contents");
|
let out_files: Vec<PathBuf> = get_dir_files(&config.output_path, verbosity).expect("Failed to read the output directory contents");
|
||||||
|
|
||||||
let mismatch: Vec<(PathBuf, PathBuf)>;
|
let mismatch: Vec<(PathBuf, PathBuf)>;
|
||||||
|
|
||||||
// check the files for valid suffixes
|
// check the files for valid suffixes
|
||||||
let invalid_suffix_in: Vec<PathBuf> = collect_invalid(&in_files, in_suffix);
|
let invalid_suffix_in: Vec<PathBuf> = collect_invalid(&in_files, in_suffix, verbosity);
|
||||||
let invalid_suffix_out: Vec<PathBuf> = collect_invalid(&out_files, out_suffix);
|
let invalid_suffix_out: Vec<PathBuf> = collect_invalid(&out_files, out_suffix, verbosity);
|
||||||
|
|
||||||
// print the delinquints
|
// print the delinquints
|
||||||
if invalid_suffix_in.len() > 0 {
|
if invalid_suffix_in.len() > 0 {
|
||||||
print_invalid_suffixes(invalid_suffix_in, in_suffix);
|
print_invalid_suffixes(invalid_suffix_in, in_suffix, verbosity);
|
||||||
}
|
}
|
||||||
|
|
||||||
if invalid_suffix_out.len() > 0 {
|
if invalid_suffix_out.len() > 0 {
|
||||||
print_invalid_suffixes(invalid_suffix_out, out_suffix);
|
print_invalid_suffixes(invalid_suffix_out, out_suffix, verbosity);
|
||||||
}
|
}
|
||||||
|
|
||||||
// make sure each has a match
|
// make sure each has a match
|
||||||
let in_to_out: (Vec<(PathBuf, PathBuf)>, Vec<PathBuf>) = map_files(in_files, out_files, &config);
|
let in_to_out: (Vec<(PathBuf, PathBuf)>, Vec<PathBuf>) = map_files(in_files, out_files, &config, verbosity);
|
||||||
let invalid: Vec<(PathBuf, PathBuf)> = check_mappings(in_to_out.0, in_suffix, out_suffix);
|
let invalid: Vec<(PathBuf, PathBuf)> = check_mappings(in_to_out.0, in_suffix, out_suffix, verbosity);
|
||||||
|
|
||||||
print_unmached(in_to_out.1);
|
print_unmached(in_to_out.1, verbosity);
|
||||||
print_invalid_pairs(invalid, in_suffix, out_suffix);
|
print_invalid_pairs(invalid, in_suffix, out_suffix, verbosity);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -44,7 +44,7 @@ pub fn validate(verbosity: u8, config: util::config::Config) {
|
||||||
* - A vector containing the file mappings from input to output (if found)
|
* - A vector containing the file mappings from input to output (if found)
|
||||||
* - A vector containing paths for which a match was not found
|
* - A vector containing paths for which a match was not found
|
||||||
*/
|
*/
|
||||||
fn map_files(in_files: Vec<PathBuf>, out_files: Vec<PathBuf>, config: &util::config::Config) -> (Vec<(PathBuf, PathBuf)>, Vec<PathBuf>) {
|
fn map_files(in_files: Vec<PathBuf>, out_files: Vec<PathBuf>, config: &util::config::Config, verbosity: u8) -> (Vec<(PathBuf, PathBuf)>, Vec<PathBuf>) {
|
||||||
let mut res: (Vec<(PathBuf, PathBuf)>, Vec<PathBuf>) = (vec![], vec![]);
|
let mut res: (Vec<(PathBuf, PathBuf)>, Vec<PathBuf>) = (vec![], vec![]);
|
||||||
|
|
||||||
// get the prefixes
|
// get the prefixes
|
||||||
|
@ -122,7 +122,7 @@ fn map_files(in_files: Vec<PathBuf>, out_files: Vec<PathBuf>, config: &util::con
|
||||||
*
|
*
|
||||||
* @return A vector of tuples with (input, output) PathBufs
|
* @return A vector of tuples with (input, output) PathBufs
|
||||||
*/
|
*/
|
||||||
fn check_mappings(mappings: Vec<(PathBuf, PathBuf)>, in_suffix: &str, out_suffix: &str) -> Vec<(PathBuf, PathBuf)> {
|
fn check_mappings(mappings: Vec<(PathBuf, PathBuf)>, in_suffix: &str, out_suffix: &str, verbosity: u8) -> Vec<(PathBuf, PathBuf)> {
|
||||||
let mut res: Vec<(PathBuf, PathBuf)> = vec![];
|
let mut res: Vec<(PathBuf, PathBuf)> = vec![];
|
||||||
|
|
||||||
for tup in &mappings {
|
for tup in &mappings {
|
||||||
|
@ -142,7 +142,7 @@ fn check_mappings(mappings: Vec<(PathBuf, PathBuf)>, in_suffix: &str, out_suffix
|
||||||
*
|
*
|
||||||
* @return A vector of paths with invalid suffixes
|
* @return A vector of paths with invalid suffixes
|
||||||
*/
|
*/
|
||||||
fn collect_invalid(files: &Vec<PathBuf>, suf: &str) -> Vec<PathBuf> {
|
fn collect_invalid(files: &Vec<PathBuf>, suf: &str, verbosity: u8) -> Vec<PathBuf> {
|
||||||
let mut res: Vec<PathBuf> = vec![];
|
let mut res: Vec<PathBuf> = vec![];
|
||||||
|
|
||||||
for file in files {
|
for file in files {
|
||||||
|
@ -161,7 +161,7 @@ fn collect_invalid(files: &Vec<PathBuf>, suf: &str) -> Vec<PathBuf> {
|
||||||
*
|
*
|
||||||
* @returns Result with a Vector of PathBuf or error
|
* @returns Result with a Vector of PathBuf or error
|
||||||
*/
|
*/
|
||||||
fn get_dir_files(path: &PathBuf) -> Result<Vec<PathBuf>, &'static str> {
|
fn get_dir_files(path: &PathBuf, verbosity: u8) -> Result<Vec<PathBuf>, &'static str> {
|
||||||
let mut res: Vec<PathBuf> = vec![];
|
let mut res: Vec<PathBuf> = vec![];
|
||||||
|
|
||||||
// get the readout of the path for error handling
|
// get the readout of the path for error handling
|
||||||
|
@ -188,7 +188,7 @@ fn get_dir_files(path: &PathBuf) -> Result<Vec<PathBuf>, &'static str> {
|
||||||
* @param files: A vector containing the invalid path names
|
* @param files: A vector containing the invalid path names
|
||||||
* @param exp: The expected suffix
|
* @param exp: The expected suffix
|
||||||
*/
|
*/
|
||||||
fn print_invalid_suffixes(files: Vec<PathBuf>, exp: &str) {
|
fn print_invalid_suffixes(files: Vec<PathBuf>, exp: &str, verbosity: u8) {
|
||||||
println!("Invalid suffixes detected 😱:" );
|
println!("Invalid suffixes detected 😱:" );
|
||||||
println!("Current => Suggested");
|
println!("Current => Suggested");
|
||||||
for mut file in files {
|
for mut file in files {
|
||||||
|
@ -210,7 +210,7 @@ fn print_invalid_suffixes(files: Vec<PathBuf>, exp: &str) {
|
||||||
*
|
*
|
||||||
* @param unmatched: Unmatched files
|
* @param unmatched: Unmatched files
|
||||||
*/
|
*/
|
||||||
fn print_unmached(unmatched: Vec<PathBuf>) {
|
fn print_unmached(unmatched: Vec<PathBuf>, verbosity: u8) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,7 +219,7 @@ fn print_unmached(unmatched: Vec<PathBuf>) {
|
||||||
*
|
*
|
||||||
* @param invalid: A vector of invalid pairs
|
* @param invalid: A vector of invalid pairs
|
||||||
*/
|
*/
|
||||||
fn print_invalid_pairs(invalid: Vec<(PathBuf, PathBuf)>, in_suffix: &str, out_suffix: &str) {
|
fn print_invalid_pairs(invalid: Vec<(PathBuf, PathBuf)>, in_suffix: &str, out_suffix: &str, verbosity: u8) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -285,12 +285,12 @@ mod tests {
|
||||||
#[rstest]
|
#[rstest]
|
||||||
fn test_collect_invalid(files: Vec<PathBuf>) {
|
fn test_collect_invalid(files: Vec<PathBuf>) {
|
||||||
let suffix = "suf";
|
let suffix = "suf";
|
||||||
let invalid = collect_invalid(&files, suffix);
|
let invalid = collect_invalid(&files, suffix, 2);
|
||||||
|
|
||||||
println!("{:?}", invalid);
|
println!("{:?}", invalid);
|
||||||
|
|
||||||
// visual testing for the print formatting
|
// visual testing for the print formatting
|
||||||
print_invalid_suffixes(invalid.clone(), suffix);
|
print_invalid_suffixes(invalid.clone(), suffix, 2);
|
||||||
|
|
||||||
assert!(!invalid.contains(&files[0]));
|
assert!(!invalid.contains(&files[0]));
|
||||||
assert!(!invalid.contains(&files[1]));
|
assert!(!invalid.contains(&files[1]));
|
||||||
|
@ -303,7 +303,7 @@ mod tests {
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
fn test_map(in_files: Vec<PathBuf>, out_files: Vec<PathBuf>, config: util::config::Config) {
|
fn test_map(in_files: Vec<PathBuf>, out_files: Vec<PathBuf>, config: util::config::Config) {
|
||||||
let mappings: (Vec<(PathBuf, PathBuf)>, Vec<PathBuf>) = map_files(in_files.clone(), out_files.clone(), &config);
|
let mappings: (Vec<(PathBuf, PathBuf)>, Vec<PathBuf>) = map_files(in_files.clone(), out_files.clone(), &config, 2);
|
||||||
|
|
||||||
// print_unmached(mappings.1);
|
// print_unmached(mappings.1);
|
||||||
let test = (in_files[0].clone(), out_files[0].clone());
|
let test = (in_files[0].clone(), out_files[0].clone());
|
||||||
|
@ -322,9 +322,9 @@ mod tests {
|
||||||
fn test_check_valid_mappings(in_files: Vec<PathBuf>, out_files: Vec<PathBuf>, config: util::config::Config) {
|
fn test_check_valid_mappings(in_files: Vec<PathBuf>, out_files: Vec<PathBuf>, config: util::config::Config) {
|
||||||
let in_suffix = "in";
|
let in_suffix = "in";
|
||||||
let out_suffix = "out";
|
let out_suffix = "out";
|
||||||
let invalid: Vec<(PathBuf, PathBuf)> = check_mappings(map_files(in_files.clone(), out_files.clone(), &config).0, in_suffix, out_suffix);
|
let invalid: Vec<(PathBuf, PathBuf)> = check_mappings(map_files(in_files.clone(), out_files.clone(), &config, 2).0, in_suffix, out_suffix, 2);
|
||||||
|
|
||||||
print_invalid_pairs(invalid.clone(), in_suffix, out_suffix);
|
print_invalid_pairs(invalid.clone(), in_suffix, out_suffix, 2);
|
||||||
assert!(&invalid.contains(&(in_files[0].clone(), out_files[0].clone())));
|
assert!(&invalid.contains(&(in_files[0].clone(), out_files[0].clone())));
|
||||||
assert!(&invalid.contains(&(in_files[1].clone(), out_files[1].clone())));
|
assert!(&invalid.contains(&(in_files[1].clone(), out_files[1].clone())));
|
||||||
assert!(!&invalid.contains(&(in_files[2].clone(), out_files[2].clone())));
|
assert!(!&invalid.contains(&(in_files[2].clone(), out_files[2].clone())));
|
||||||
|
|
Loading…
Reference in New Issue