From 8f425076415a73bd03683e0b0ad0a95801f71634 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Tue, 21 Jun 2022 11:25:18 -0700 Subject: [PATCH] test-runner: fix matching with --verbose The new regex match update was actually matching way more than it should have due to how python's 'match' API works. 'match' will return successfully if zero or more characters match from the beginning of the string. In this case we actually need the entire regex to match otherwise we start matching all prefixes, for example: "--verbose iwd" will match iwd, iwd-dhcp, iwd-acd, iwd-genl and iwd-tls. Instead use re.fullmatch which requires the entire string to match the regex. --- tools/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/utils.py b/tools/utils.py index d22b0a7e..66002f77 100644 --- a/tools/utils.py +++ b/tools/utils.py @@ -8,7 +8,7 @@ import dbus from gi.repository import GLib from weakref import WeakValueDictionary -from re import match +from re import fullmatch from runner import RunnerCoreArgParse @@ -99,7 +99,7 @@ class Process(subprocess.Popen): # Handle any regex matches for item in Process.testargs.verbose: try: - if match(item, process): + if fullmatch(item, process): return True except Exception as e: print("%s is not a valid regex" % item)