public inbox for pmg-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pmg-devel] [PATCH pmg-log-tracker] change case sensitive string match to case insensitive
@ 2020-11-09 14:18 Mira Limbeck
  2020-11-11 17:50 ` Stoiko Ivanov
  2020-11-17  7:45 ` [pmg-devel] applied: " Thomas Lamprecht
  0 siblings, 2 replies; 3+ messages in thread
From: Mira Limbeck @ 2020-11-09 14:18 UTC (permalink / raw)
  To: pmg-devel

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@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





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-11-17  7:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-09 14:18 [pmg-devel] [PATCH pmg-log-tracker] change case sensitive string match to case insensitive Mira Limbeck
2020-11-11 17:50 ` Stoiko Ivanov
2020-11-17  7:45 ` [pmg-devel] applied: " Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal