]> git.ipfire.org Git - thirdparty/suricata-verify.git/commitdiff
framework: check for redundant check/test version requirement 2584/head
authorPhilippe Antoine <pantoine@oisf.net>
Tue, 17 Jun 2025 13:25:49 +0000 (15:25 +0200)
committerVictor Julien <victor@inliniac.net>
Thu, 26 Jun 2025 18:38:18 +0000 (20:38 +0200)
17 files changed:
run.py
tests/datasets/datarep-datasets-mix/test.yaml
tests/datasets/datasets-datarep-mix/test.yaml
tests/dns/dns-invalid-opcode/test.yaml
tests/dns/dns-rrtype/test.yaml
tests/dns/dns-z-bit/test.yaml
tests/eve-payload-07-http-gap/test.yaml
tests/exception-policy-applayer-03/test.yaml
tests/firewall/firewall-06-tls-sni-enforce/test.yaml
tests/issue-5466-alert-then-pass-01/test.yaml
tests/issue-5466-alert-then-pass-03-drop-pass/test.yaml
tests/issue-5466-alert-then-pass-04-drop-alert/test.yaml
tests/requires-ok/test.yaml
tests/sip-tcp-body-frames/test.yaml
tests/smb2-07-frames/test.yaml
tests/test-bad-dsize-range-offset-rule-2/test.yaml
tests/test-bad-dsize-range-rule-2/test.yaml

diff --git a/run.py b/run.py
index b587a75f9a1e9709b01c04342d6539bd990b1fcf..b0cc6f0cf4280b2710c644c2ca0e9b82e8ec967e 100755 (executable)
--- a/run.py
+++ b/run.py
@@ -140,6 +140,9 @@ class UnsatisfiedRequirementError(Exception):
 class ImpossibleRequirementError(Exception):
     pass
 
+class UnnecessaryRequirementError(Exception):
+    pass
+
 class TerminatePoolError(Exception):
     pass
 
@@ -327,6 +330,11 @@ def check_filter_test_version_compat(requires, test_version):
                 if not is_version_compatible(version=requires["lt-version"], suri_version=parse_suricata_version(test_version["min"]), expr="lt"):
                     raise ImpossibleRequirementError(
                         "test requires min {} check requires lt-version {}".format(test_version["min"], requires["lt-version"]))
+        elif key == "min-version":
+            if "min" in test_version:
+                if requires["min-version"] == test_version["min"]:
+                    raise UnnecessaryRequirementError(
+                        "test already requires min {} not needed for the check {}".format(test_version["min"], requires["min-version"]))
 
 def check_requires(requires, suricata_config: SuricataConfig):
     suri_version = suricata_config.version
index 977046effc492e74580ec4351ffe90fe990333fd..0a2d3095c5e882b6b85912c0447897fae5197f2d 100644 (file)
@@ -10,7 +10,6 @@ exit-code: 1
 
 checks:
   - filter:
-      min-version: 8
       filename: suricata.json
       count: 1
       match:
index 3eac84653fd0dfffcecc3dd9178beec551b9f922..76b3b25bb0e7b0bc7ec293c25c09818a84862cec 100644 (file)
@@ -10,7 +10,6 @@ exit-code: 1
 
 checks:
   - filter:
-      min-version: 8
       filename: suricata.json
       count: 1
       match:
index a9fe134c9d82c37ec91e77d51de5a1185eb6a9e2..699724552488ffd8eb84184def7e259b6ef3fb67 100644 (file)
@@ -37,7 +37,6 @@ checks:
 # Generated checks below.
       
 - filter:
-    min-version: 8
     count: 1
     match:
       alert.action: allowed
@@ -106,8 +105,6 @@ checks:
       src_ip: 1.1.1.1
       src_port: 5333
 - filter:
-    requires:
-      min-version: 8
     count: 1
     match:
       alert.action: allowed
index ef75fdde16309f8dc264aed6f90c78dc4ac156d4..79f6d18b295d3a3076b9192aa0c5776fe2755c51 100644 (file)
@@ -5,8 +5,6 @@ pcap: ../dns-eve-empty-format/input.pcap
 
 checks:
   - filter:
-      requires:
-        min-version: 8
       count: 1
       match:
         alert.signature_id: 1
index ba3ac874191f5e9c58cef76dd944441f2fe33f1d..7bd03ffe339092a752c1fbab45047498d98e0740 100644 (file)
@@ -12,8 +12,6 @@ checks:
       dns.type: request
       dns.z: true
 - filter:
-    requires:
-      min-version: 8
     count: 1
     match:
       event_type: alert
index e6fbb90776df8fea86d45f85e63e6dc1802d2144..6fcc83ed475ce12f1cee4adde7cec246f55c6d61 100644 (file)
@@ -22,7 +22,6 @@ checks:
       payload_length: 40
 - filter:
     count: 1
-    min-version: 7.0.7
     match:
       event_type: alert
       alert.signature_id: 1
@@ -37,7 +36,6 @@ checks:
       payload_length: 80
 - filter:
     count: 1
-    min-version: 7.0.7
     match:
       event_type: alert
       alert.signature_id: 1
@@ -52,7 +50,6 @@ checks:
       payload_length: 120
 - filter:
     count: 1
-    min-version: 7.0.7
     match:
       event_type: alert
       alert.signature_id: 1
@@ -67,7 +64,6 @@ checks:
       payload_length: 136
 - filter:
     count: 1
-    min-version: 7.0.7
     match:
       event_type: alert
       alert.signature_id: 2
index 598e964042d1160bbe16fc121480ef56a31fa5e2..62d916e016b3b367efae6af398471d65c7052322 100644 (file)
@@ -72,7 +72,6 @@ checks:
       stats.exception_policy.app_layer.error.pass_packet: 1
       stats.exception_policy.app_layer.error.drop_packet: 0
 - filter:
-    min-version: 8
     count: 1
     match:
       event_type: flow
index 82fbef86e26e01d6de4a0b00d2fdf0444a841a4a..19a86e781e2fa63e4642d17e9583c3a32fa11dc4 100644 (file)
@@ -20,7 +20,6 @@ checks:
       event_type: alert
 - filter:
     # check for https://redmine.openinfosecfoundation.org/issues/7350
-    min-version: 8
     count: 4
     match:
       event_type: alert
index d01ec1c9854e6c9b715cd97e0fd18a1ac8fce073..82f5f8369c26b7e8dd49ce24d9c1337199084c4c 100644 (file)
@@ -26,7 +26,6 @@ checks:
       match:
         event_type: flow
   - filter:
-      min-version: 7
       count: 1
       match:
         event_type: flow
index ab264ebf9bd0681baa84b2b413e773e46dc69c88..38e646c458ad000f8c7c8e496db67dcd93968630 100644 (file)
@@ -27,7 +27,6 @@ checks:
       match:
         event_type: flow
   - filter:
-      min-version: 7
       count: 1
       match:
         event_type: flow
index 8ecad2eb35a31cf514624857dcecd59c35258641..41f68e0cc4ec72f81bacf657b7a7cbe0a52d69f5 100644 (file)
@@ -27,7 +27,6 @@ checks:
       match:
         event_type: flow
   - filter:
-      min-version: 7
       count: 1
       match:
         event_type: flow
index 206132ddfb8e35469d2517c260297a6dc99650e8..1c852c25460e9d937cb87219de169ebb5c18b2e8 100644 (file)
@@ -23,21 +23,18 @@ checks:
   # sid 7 and the other is sid 9.
   - filter:
       requires:
-        min-version: 7
         lt-version: 8
       count: 2
       match:
         event_type: alert
   - filter:
       requires:
-        min-version: 7
         lt-version: 8
       count: 1
       match:
         alert.signature_id: 7
   - filter:
       requires:
-        min-version: 7
         lt-version: 8
       count: 1
       match:
@@ -45,7 +42,6 @@ checks:
 
   - filter:
       requires:
-        min-version: 7
         lt-version: 8
       count: 1
       match:
index aeca4e9dba3bd48072559d13fe0c4d15268b1324..1d9afdf1ebb97d3a2676117cbabdb741c0215d1f 100644 (file)
@@ -8,31 +8,26 @@ pcap: ../sip-tcp-method/sip-tcp.pcap
 
 checks:
   - filter:
-      min-version: 8
       count: 2
       match:
         proto: TCP
         event_type: sip
   - filter:
-      min-version: 8
       count: 1
       match:
         event_type: alert
         alert.signature_id: 2
   - filter:
-      min-version: 8
       count: 1
       match:
         event_type: alert
         alert.signature_id: 22
   - filter:
-      min-version: 8
       count: 1
       match:
         event_type: alert
         alert.signature_id: 31
   - filter:
-      min-version: 8
       count: 1
       match:
         event_type: alert
@@ -42,19 +37,16 @@ checks:
         frame.length: 532
         frame.direction: toserver
   - filter:
-      min-version: 8
       count: 1
       match:
         event_type: alert
         alert.signature_id: 41
   - filter:
-      min-version: 8
       count: 1
       match:
         event_type: alert
         alert.signature_id: 42
   - filter:
-      min-version: 8
       count: 1
       match:
         event_type: stats
index 3f7d0180ace3cdbc8e5ee9b30982d4af52b96f10..7b23aef43257128629af70dd1eec561f4f9a8540 100644 (file)
@@ -10,12 +10,10 @@ args:
 
 checks:
   - filter:
-      min-version: 7
       count: 60
       match:
         event_type: smb
   - filter:
-      min-version: 7
       count: 1
       match:
         event_type: smb
index f61e7810a8d017fa9d3ee27a0295d5ac5c8e1d42..d8997dee7ac4f19e9bd3e0ffc061fbde3fe2a806 100644 (file)
@@ -14,7 +14,6 @@ checks:
         engine.message: "signature can't match as required content length 12 exceeds dsize value 10"
 
   - filter:
-      min-version: 7
       count: 3
       match:
         event_type: engine
index 8e5c0495090789e6a7d2b45c08e7dd28136546dd..f40f714b0af3a2ddaf792e3cf4ed9d1196aa0d16 100644 (file)
@@ -14,7 +14,6 @@ checks:
         engine.message: "signature can't match as required content length 30 exceeds dsize value 10"
 
   - filter:
-      min-version: 7
       count: 3
       match:
         event_type: engine