[igt-dev] [i-g-t 1/2] scripts/test_list: Ignore uncompiled tests
Mauro Carvalho Chehab
mauro.chehab at linux.intel.com
Thu Aug 31 15:53:29 UTC 2023
On Thu, 31 Aug 2023 20:51:59 +0530
Bhanuprakash Modem <bhanuprakash.modem at intel.com> wrote:
> As we are using wildcards in test_config json file, script
> assumes each file in the list is compiled & <file_name>.testlist
> is generated. But it is not always true.
>
> Example:
> - kms_test_config.json includes all files inside chamelium dir
> - And if we compile without chamelium tests, will endup with
> build failures.
>
> $ meson -Dchamelium=disabled build && ninja -C build
> FileNotFoundError: [Errno 2] No such file or directory: 'igt/build/tests/kms_chamelium_frames.testlist'
> [1551/1555] Compiling C object 'runner/527aa9f@@runner_test at exe/runner_tests.c.o'.
> ninja: build stopped: subcommand failed.
> make: *** [Makefile:10: all] Error 1
>
> So, update the scripts to just ignore if <file_name>.testlist isn't find.
>
> $ meson -Dchamelium=disabled build && ninja -C build
> [5/7] Generating kms_tests.rst with a custom command
> kms_chamelium_hpd.testlist: Testlist file not found.
> kms_chamelium_frames.testlist: Testlist file not found.
> kms_chamelium_audio.testlist: Testlist file not found.
> kms_chamelium_edid.testlist: Testlist file not found.
> kms_chamelium_color.testlist: Testlist file not found.
> [7/7] Generating kms_tests.html with a custom command
>
> Cc: Mauro Carvalho Chehab <mchehab at kernel.org>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab at kernel.org>
> ---
> scripts/test_list.py | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/test_list.py b/scripts/test_list.py
> index c23d6d735..0bcc96869 100755
> --- a/scripts/test_list.py
> +++ b/scripts/test_list.py
> @@ -914,8 +914,12 @@ class TestList:
> """ Return a list of tests as reported by --list-subtests """
> tests = []
> for name in self.filenames:
> - fname = re.sub(r"\.c$", ".testlist", name.split('/')[-1])
> - fname = os.path.join(self.igt_build_path, "tests", fname)
> + testlist = re.sub(r"\.c$", ".testlist", name.split('/')[-1])
> + fname = os.path.join(self.igt_build_path, "tests", testlist)
> +
> + if not os.path.isfile(fname):
> + print(f"{testlist}: Testlist file not found.")
> + continue
>
> with open(fname, 'r', encoding='utf8') as handle:
> for line in handle:
More information about the igt-dev
mailing list