[igt-dev] [i-g-t] scripts/test_list: Allow unrecognized field:values in testplan

Mauro Carvalho Chehab mauro.chehab at linux.intel.com
Fri Sep 1 07:20:19 UTC 2023


On Fri,  1 Sep 2023 10:48:08 +0530
Bhanuprakash Modem <bhanuprakash.modem at intel.com> wrote:

> As non-Intel vendors also contributing to KMS tests, allow
> them to re-use the existing testplan documentation along with
> their own definitions of field:values pair in test config json.
> 
> Instead of aborting, just throw a warning about this unrecognized
> field:values.
> 
> Example:
> tests/kms_color.c:994: Warning: unrecognized field in tests/kms_test_config.json  ==> Foo: bla

IMO, there's no need to to that. I mean, if someone wants to add
a new field, he can just patch tests/kms_test_config.json, adding the
new "Foo" field at kms_test_config.json:

diff --git a/tests/kms_test_config.json b/tests/kms_test_config.json
index 9219ae4ebd9d..1dfca84dd73c 100644
--- a/tests/kms_test_config.json
+++ b/tests/kms_test_config.json
@@ -35,6 +35,7 @@
                 "description": "Defines the test category. Usually used at subtest level."
             }
         },
+        "Foo" : { },
         "Description" : {
             "_properties_": {
                 "description": "Provides a description for the test/subtest."

NOTE: It would probably make sense to add a description to it, to make
clear what such "Foo" field means, in a similar way to the descriptions
added to the other fields.

As the fields are optional, this won't require any changes at the
existing tests, and will provide an extra benefit that the meaning of
the "Foo" field can be documented via _properties_/description field.

Regards,
Mauro

> 
> Cc: Mauro Carvalho Chehab <mchehab at kernel.org>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>  scripts/test_list.py | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/test_list.py b/scripts/test_list.py
> index 0bcc96869..517c4d067 100755
> --- a/scripts/test_list.py
> +++ b/scripts/test_list.py
> @@ -1219,8 +1219,8 @@ class TestList:
>                      continue
>  
>                  file_line.rstrip(r"\n")
> -                sys.exit(f"{fname}:{file_ln + 1}: Error: unrecognized line. Need to add field at %s?\n\t==> %s" %
> -                         (self.config_fname, file_line))
> +                print(f"{'/'.join(fname.split('/')[-2:])}:{file_ln + 1}: Warning: unrecognized field in %s ==> %s" %
> +                        ('/'.join(self.config_fname.split('/')[-2:]), file_line))
>  
>      def show_subtests(self, sort_field):
>  


More information about the igt-dev mailing list