From ec4e8ffd1516783c146b145efcb2f131971dc1ae Mon Sep 17 00:00:00 2001 From: nicholasmhughes Date: Sun, 5 Feb 2023 13:13:03 -0500 Subject: [PATCH] fix octal rule for time format --- saltlint/rules/YamlHasOctalValueRule.py | 9 ++++++++- tests/unit/TestYamlHasOctalValueRule.py | 13 ++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/saltlint/rules/YamlHasOctalValueRule.py b/saltlint/rules/YamlHasOctalValueRule.py index 2001e49..389b96d 100644 --- a/saltlint/rules/YamlHasOctalValueRule.py +++ b/saltlint/rules/YamlHasOctalValueRule.py @@ -19,5 +19,12 @@ class YamlHasOctalValueRule(Rule): bracket_regex = re.compile(r"^[^:]+:\s{0,}0[0-9]{1,}\s{0,}((?={#)|(?=#)|(?=$))") + exclude_regex = re.compile(r"[ T]\d\d:\d\d(?:[: ]|$)") + def match(self, file, line): - return self.bracket_regex.search(line) + found = self.bracket_regex.search(line) + if found: + exc = self.exclude_regex.search(found.group(0)) + if exc: + return None + return found diff --git a/tests/unit/TestYamlHasOctalValueRule.py b/tests/unit/TestYamlHasOctalValueRule.py index e03fc44..604d64c 100644 --- a/tests/unit/TestYamlHasOctalValueRule.py +++ b/tests/unit/TestYamlHasOctalValueRule.py @@ -31,9 +31,20 @@ # MAC addresses shouldn't be matched, for more information see: # https://github.com/warpnet/salt-lint/issues/202 -infoblox_remove_record: +infoblox_remove_record1: infoblox_host_record.absent: - mac: 4c:f2:d3:1b:2e:05 + +infoblox_remove_record2: + infoblox_host_record.absent: + - mac: 05:f2:d3:1b:2e:4c + +# time values should not trigger this rule +some_calendar_entry: + file.managed: + - name: /tmp/my_unit_file + - contents: | + oncalendar=Sun 18:00 ''' BAD_NUMBER_STATE = '''