[PATCH i-g-t v5 12/17] scripts/igt_doc: Add '--exclude-files' parameter
Manszewski, Christoph
christoph.manszewski at intel.com
Wed Sep 4 13:37:47 UTC 2024
Hi Zbigniew,
On 3.09.2024 08:54, Zbigniew Kempczyński wrote:
> On Thu, Aug 29, 2024 at 04:45:42PM +0200, Christoph Manszewski wrote:
>> Make it possible to exclude files using '--exclude-files' parameter.
>> Merge excluded files passed with that parameter with files excluded from the
>> test config '.json' files. Align the behavior of the '--files' parameter
>> to also merge with files included from the config.
>>
>> Signed-off-by: Christoph Manszewski <christoph.manszewski at intel.com>
>
> This one looks good to me. I've tested it without and with xe_eudebug
> configuration and it works for both cases.
>
> Only thing I would add to commit description is 'why' we need this
> change, I mean without explicit passing optional tests to be excluded
> doc generator will notice mismatch between those two lists.
Sure will do.
>
> With above nit addressed:
>
> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Thanks,
Christoph
>
> --
> Zbigniew
>
>> ---
>> scripts/igt_doc.py | 3 +++
>> scripts/test_list.py | 47 +++++++++++++++++++++++++-------------------
>> 2 files changed, 30 insertions(+), 20 deletions(-)
>>
>> diff --git a/scripts/igt_doc.py b/scripts/igt_doc.py
>> index fa2c2c7ca..9b7317feb 100755
>> --- a/scripts/igt_doc.py
>> +++ b/scripts/igt_doc.py
>> @@ -313,6 +313,8 @@ def main():
>> help="Generate testlists for Intel CI integration at the INTELCI_TESTLIST directory.")
>> parser.add_argument('--files', nargs='+',
>> help="File name(s) to be processed")
>> + parser.add_argument('--exclude-files', nargs='+',
>> + help="File name(s) to ignore")
>>
>> parse_args = parser.parse_args()
>>
>> @@ -325,6 +327,7 @@ def main():
>> tests = IgtTestList(config_fname = config,
>> include_plan = parse_args.include_plan,
>> file_list = parse_args.files,
>> + exclude_file_list = parse_args.exclude_files,
>> igt_build_path = parse_args.igt_build_path)
>>
>> if parse_args.filter_field:
>> diff --git a/scripts/test_list.py b/scripts/test_list.py
>> index 69c830ca1..4fe209e5a 100644
>> --- a/scripts/test_list.py
>> +++ b/scripts/test_list.py
>> @@ -250,7 +250,7 @@ class TestList:
>> config_dict = None, sources_path = None,
>> test_tag = "TEST", subtest_tag = "SUBTESTS?",
>> main_name = "igt", planned_name = "planned",
>> - subtest_separator = "@"):
>> + subtest_separator = "@", exclude_file_list = None):
>> self.doc = {}
>> self.test_number = 0
>> self.config = None
>> @@ -368,28 +368,35 @@ class TestList:
>> if "_properties_" in self.props:
>> del self.props["_properties_"]
>>
>> - has_implemented = False
>> + if not exclude_file_list:
>> + exclude_file_list = []
>> + else:
>> + exclude_file_list = [os.path.normpath(f) for f in exclude_file_list]
>> +
>> + exclude_file_glob = self.config.get("exclude_files", [])
>> + for cfg_file in exclude_file_glob:
>> + cfg_file = cfg_path + cfg_file
>> + for fname in glob.glob(cfg_file):
>> + exclude_file_list.append(fname)
>> +
>> if not self.filenames:
>> self.filenames = []
>> - exclude_files = []
>> - files = self.config["files"]
>> - exclude_file_glob = self.config.get("exclude_files", [])
>> - for cfg_file in exclude_file_glob:
>> - cfg_file = cfg_path + cfg_file
>> - for fname in glob.glob(cfg_file):
>> - exclude_files.append(fname)
>> -
>> - for cfg_file in files:
>> - cfg_file = cfg_path + cfg_file
>> - for fname in glob.glob(cfg_file):
>> - if fname in exclude_files:
>> - continue
>> - self.filenames.append(fname)
>> - has_implemented = True
>> else:
>> - for cfg_file in self.filenames:
>> - if cfg_file:
>> - has_implemented = True
>> + self.filenames = [os.path.normpath(f) for f in self.filenames]
>> +
>> + files = self.config["files"]
>> + for cfg_file in files:
>> + cfg_file = cfg_path + cfg_file
>> + for fname in glob.glob(cfg_file):
>> + if fname in exclude_file_list:
>> + continue
>> + self.filenames.append(fname)
>> +
>> + has_implemented = False
>> + for cfg_file in self.filenames:
>> + if cfg_file:
>> + has_implemented = True
>> + break
>>
>> has_planned = False
>> if include_plan and "planning_files" in self.config:
>> --
>> 2.34.1
>>
More information about the igt-dev
mailing list