[pmg-devel] [PATCH pmg-log-tracker] change case sensitive string match to case insensitive
Mira Limbeck
m.limbeck at proxmox.com
Mon Nov 9 15:18:46 CET 2020
With the rewrite from C to Rust the search string match was changed to
be case sensitive by accident. Fix this by comparing the lowercase values
of both the input and the search string.
Signed-off-by: Mira Limbeck <m.limbeck at proxmox.com>
---
src/main.rs | 2 +-
tests/tests_after_queue.rs | 23 +++++++++++++++++++++++
tests/tests_before_queue.rs | 23 +++++++++++++++++++++++
3 files changed, 47 insertions(+), 1 deletion(-)
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())
--
2.20.1
More information about the pmg-devel
mailing list