Precise the regular expressions in detect_arch() and detect_kernel_version()
authorAlexander Popov <alex.popov@linux.com>
Wed, 12 Jul 2023 16:29:19 +0000 (19:29 +0300)
committerAlexander Popov <alex.popov@linux.com>
Wed, 12 Jul 2023 16:40:33 +0000 (19:40 +0300)
And fix the wording in the error message by the way.

kconfig_hardened_check/__init__.py

index 572ed0ab6f7467e42bfa50256b0fe9d8cd4f4889..255174a9bbf232cc8dbdff925b4accf8120e7247 100644 (file)
@@ -31,7 +31,7 @@ def _open(file: str, *args, **kwargs):
 
 def detect_arch(fname, archs):
     with _open(fname, 'rt', encoding='utf-8') as f:
-        arch_pattern = re.compile("CONFIG_[a-zA-Z0-9_]*=y")
+        arch_pattern = re.compile("CONFIG_[a-zA-Z0-9_]+=y$")
         arch = None
         for line in f.readlines():
             if arch_pattern.match(line):
@@ -40,7 +40,7 @@ def detect_arch(fname, archs):
                     if arch is None:
                         arch = option
                     else:
-                        return None, 'more than one supported microarchitecture is detected'
+                        return None, 'detected more than one microarchitecture'
         if arch is None:
             return None, 'failed to detect microarchitecture'
         return arch, 'OK'
@@ -48,7 +48,7 @@ def detect_arch(fname, archs):
 
 def detect_kernel_version(fname):
     with _open(fname, 'rt', encoding='utf-8') as f:
-        ver_pattern = re.compile("# Linux/.* Kernel Configuration")
+        ver_pattern = re.compile("# Linux/.+ Kernel Configuration$")
         for line in f.readlines():
             if ver_pattern.match(line):
                 line = line.strip()