all lists on 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal