[igt-dev] [PATCH i-g-t v3 1/6] scripts/test_list.py: expand testlist fields
Kamil Konieczny
kamil.konieczny at linux.intel.com
Tue May 16 15:56:14 UTC 2023
On 2023-05-09 at 11:07:33 +0200, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab at kernel.org>
>
> We're about to add support for i915 testlists. On those,
> it is possible to have functionalities mapped to different
> buckets, as the same test could be used to test multiple
> parts of the driver/hardware.
>
> So, for instance, the subtest igt at prime_vgem@basic-fence-mmap
> actually tests two features:
> - gtt
> - prime
>
> A description of such test will then be mapped as:
>
> * SUBTEST: basic-fence-mmap
> * Description: Examine GTT access path fencing.
> * Feature: gtt, prime
>
> In order to be able to generate per-feature testlists, we
> need to expand the Feature field, using the separator field
> (currently a comma) to expand the test lists.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> ---
> scripts/test_list.py | 20 ++++++++++++++------
> 1 file changed, 14 insertions(+), 6 deletions(-)
>
> diff --git a/scripts/test_list.py b/scripts/test_list.py
> index 9a909e3640f6..e68a4cb3df71 100755
> --- a/scripts/test_list.py
> +++ b/scripts/test_list.py
> @@ -762,7 +762,7 @@ class TestList:
> # Subtest list methods
> #
>
> - def get_subtests(self, sort_field = None):
> + def get_subtests(self, sort_field = None, expand = None):
>
> """Return an array with all subtests"""
>
> @@ -789,10 +789,17 @@ class TestList:
>
> if sort_field:
> if sort_field in subtest:
> - if subtest[sort_field] not in subtests:
> - subtests[subtest[sort_field]] = []
> -
> - subtests[subtest[sort_field]].append(subtest["Summary"])
> + if expand:
> + test_list = subtest[sort_field].split(expand)
> + for test_elem in test_list:
> + test_elem = test_elem.strip()
> + if test_elem not in subtests:
> + subtests[test_elem] = []
> + subtests[test_elem].append(subtest["Summary"])
> + else:
> + if subtest[sort_field] not in subtests:
> + subtests[subtest[sort_field]] = []
> + subtests[subtest[sort_field]].append(subtest["Summary"])
> else:
> subtests[""].append(subtest["Summary"])
>
> @@ -1132,7 +1139,8 @@ class TestList:
> test_prefix = os.path.commonprefix(self.get_subtests()[""])
> test_prefix = re.sub(r'^igt@', '', test_prefix)
>
> - test_subtests = self.get_subtests(sort_field)
> + # NOTE: currently, it uses a comma for multi-value delimitter
> + test_subtests = self.get_subtests(sort_field, ",")
>
> if not os.path.exists(directory):
> os.makedirs(directory)
> --
> 2.40.1
>
More information about the igt-dev
mailing list