From: Philippe Antoine Date: Fri, 1 Jul 2022 12:04:17 +0000 (+0200) Subject: framework: ability to run rules based on a min suricata version X-Git-Tag: suricata-5.0.10~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c2da056399905f66ba4dd8bc30e37549b423e742;p=thirdparty%2Fsuricata-verify.git framework: ability to run rules based on a min suricata version --- diff --git a/run.py b/run.py index 763c07ec7..2126b03fb 100755 --- a/run.py +++ b/run.py @@ -362,6 +362,13 @@ def is_version_compatible(version, suri_version, expr): return False return True +def rule_is_version_compatible(rulefile, suri_version): + if rulefile.startswith("min"): + # strip prefix min and suffix .rules + return is_version_compatible(rulefile[3:-6], suri_version, "gte") + # default is true + return True + class FileCompareCheck: def __init__(self, config, directory): @@ -806,7 +813,11 @@ class TestRunner: if not rules: args.append("--disable-detection") elif len(rules) == 1: - args += ["-S", rules[0]] + rulefile = rules[0] + if rule_is_version_compatible(os.path.basename(rulefile), self.suricata_config.version): + args += ["-S", rulefile] + else: + args.append("--disable-detection") else: raise TestError("More than 1 rule file found")