[igt-dev] [PATCH i-g-t v2 07/13] scripts/test_list.py: don't rely on file name to parse config

Kamil Konieczny kamil.konieczny at linux.intel.com
Wed Jul 12 18:42:59 UTC 2023


Hi Mauro,

On 2023-07-12 at 15:58:48 +0200, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab at kernel.org>
> 
> Currently, config_fname should not be empty, as the class init
> will fail. Make the logic more generic to prepare to optionally pass
> the configuration dict directly.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>

Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>

> ---
>  scripts/test_list.py | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/scripts/test_list.py b/scripts/test_list.py
> index cfcf6712bdc0..5da471617268 100644
> --- a/scripts/test_list.py
> +++ b/scripts/test_list.py
> @@ -255,7 +255,6 @@ class TestList:
>          self.filenames = file_list
>          self.plan_filenames = []
>          self.props = {}
> -        self.config_fname = config_fname
>          self.built_testlist = built_testlist
>          self.level_count = 0
>          self.field_list = {}
> @@ -274,6 +273,9 @@ class TestList:
>          with open(config_fname, 'r', encoding='utf8') as handle:
>              self.config = json.load(handle)
>  
> +        config_origin = config_fname
> +        cfg_path = os.path.realpath(os.path.dirname(config_fname)) + "/"
> +
>          self.__add_field(None, 0, 0, self.config["fields"])
>  
>          sublevel_count = [ 0 ] * self.level_count
> @@ -314,12 +316,12 @@ class TestList:
>              files = self.config["files"]
>              exclude_file_glob = self.config.get("exclude_files", [])
>              for cfg_file in exclude_file_glob:
> -                cfg_file = os.path.realpath(os.path.dirname(config_fname)) + "/" + cfg_file
> +                cfg_file = cfg_path + cfg_file
>                  for fname in glob.glob(cfg_file):
>                      exclude_files.append(fname)
>  
>              for cfg_file in files:
> -                cfg_file = os.path.realpath(os.path.dirname(config_fname)) + "/" + cfg_file
> +                cfg_file = cfg_path + cfg_file
>                  for fname in glob.glob(cfg_file):
>                      if fname in exclude_files:
>                          continue
> @@ -335,7 +337,7 @@ class TestList:
>              implemented_class = "Implemented"
>              files = self.config["planning_files"]
>              for cfg_file in files:
> -                cfg_file = os.path.realpath(os.path.dirname(config_fname)) + "/" + cfg_file
> +                cfg_file = cfg_path + cfg_file
>                  for fname in glob.glob(cfg_file):
>                      self.plan_filenames.append(fname)
>                      has_planned = True
> @@ -363,12 +365,12 @@ class TestList:
>                  continue
>  
>              self.__add_file_documentation(fname, implemented_class, field_re,
> -                                          test_tag, subtest_tag)
> +                                          test_tag, subtest_tag, config_origin)
>  
>          if include_plan:
>              for fname in self.plan_filenames:
>                  self.__add_file_documentation(fname, planned_class, field_re,
> -                                              test_tag, subtest_tag)
> +                                              test_tag, subtest_tag, config_origin)
>  
>      #
>      # ancillary methods
> @@ -1003,7 +1005,7 @@ class TestList:
>      #
>  
>      def __add_file_documentation(self, fname, implemented_class, field_re,
> -                                 test_tag, subtest_tag):
> +                                 test_tag, subtest_tag, config_origin):
>  
>          """Adds the contents of test/subtest documentation form a file"""
>  
> @@ -1215,7 +1217,7 @@ class TestList:
>  
>                  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))
> +                         (config_origin, file_line))
>  
>      def show_subtests(self, sort_field):
>  
> -- 
> 2.40.1
> 


More information about the igt-dev mailing list