diff --git a/src/main.rs b/src/main.rs index ce09f14..3495269 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1842,7 +1842,7 @@ impl Parser { self.string_match = false; if !self.options.string_match.is_empty() - && find(complete_line, self.options.string_match.as_bytes()).is_some() + && find_lowercase(complete_line, self.options.string_match.as_bytes()).is_some() { self.string_match = true; } diff --git a/tests/tests_after_queue.rs b/tests/tests_after_queue.rs index 42d0f6b..f6441fa 100644 --- a/tests/tests_after_queue.rs +++ b/tests/tests_after_queue.rs @@ -114,3 +114,26 @@ fn after_queue_search_string() { let output_reader = BufReader::new(&output.stdout[..]); utils::compare_output(output_reader, expected_output); } + +#[test] +fn after_queue_search_string_case_insensitive() { + let output = Command::new(utils::log_tracker_path()) + .arg("-vv") + .arg("-s") + .arg("1608302400") + .arg("-e") + .arg("1608303600") + .arg("-i") + .arg("tests/test_input_mixed") + .arg("-x") + .arg("reJECT") + .output() + .expect("failed to execute pmg-log-tracker"); + + let expected_file = File::open("tests/test_output_after_queue_search_string") + .expect("failed to open test_output"); + + let expected_output = BufReader::new(&expected_file); + let output_reader = BufReader::new(&output.stdout[..]); + utils::compare_output(output_reader, expected_output); +} diff --git a/tests/tests_before_queue.rs b/tests/tests_before_queue.rs index bd46e53..fb7a149 100644 --- a/tests/tests_before_queue.rs +++ b/tests/tests_before_queue.rs @@ -114,6 +114,29 @@ fn before_queue_search_string() { utils::compare_output(output_reader, expected_output); } +#[test] +fn before_queue_search_string_case_insensitive() { + let output = Command::new(utils::log_tracker_path()) + .arg("-vv") + .arg("-s") + .arg("1608300000") + .arg("-e") + .arg("1608302400") + .arg("-i") + .arg("tests/test_input_mixed") + .arg("-x") + .arg("reJECT") + .output() + .expect("failed to execute pmg-log-tracker"); + + let expected_file = File::open("tests/test_output_before_queue_search_string") + .expect("failed to open test_output"); + + let expected_output = BufReader::new(&expected_file); + let output_reader = BufReader::new(&output.stdout[..]); + utils::compare_output(output_reader, expected_output); +} + #[test] fn before_queue_exclude_greylist_ndr() { let output = Command::new(utils::log_tracker_path())