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.
This commit is contained in:
James Prestwood 2022-06-21 11:25:18 -07:00 committed by Denis Kenzior
parent f4279ebf53
commit 8f42507641
1 changed files with 2 additions and 2 deletions

View File

@ -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)