[igt-dev] [PATCH i-g-t v3 7/7] scripts/test_list.py: don't be greedy while matching data from testlists

Mauro Carvalho Chehab mauro.chehab at linux.intel.com
Thu Sep 7 10:17:38 UTC 2023


From: Mauro Carvalho Chehab <mchehab at kernel.org>

Testlist regexes are not greedy: despite not containing a $ at the
end, they stop parsing at the end of string - well, sort of.

The way IGT runner handles it is that, if the strings matches
something like:

	igt at test

It will apply the testlist/blacklist to all subtests that belong
to test, e. g. igt at test@subtest will also match. However,
igt at test2 won't match.

 So, the actual regular expression for it should be:

	igt at test(\@.*)?$

Honour that, doing the same logic as IGT runner does.

Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
---
 scripts/test_list.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/test_list.py b/scripts/test_list.py
index bd03fcfc7efd..e339334cfbf6 100644
--- a/scripts/test_list.py
+++ b/scripts/test_list.py
@@ -457,6 +457,8 @@ class TestList:
                 if match:
                     test = match.group(1)
                     subtest = match.group(2)
+                    if not subtest.endswith("$"):
+                        subtest += r"(\@.*)?$"
                     testlist[name].append(re.compile(f"{test}{subtest}"))
 
     def __filter_subtest(self, test, subtest, field_not_found_value):
-- 
2.41.0



More information about the igt-dev mailing list