[igt-dev] [PATCH 1/3] runner: Normalize testlist entries that don't list subtests
Mauro Carvalho Chehab
mauro.chehab at linux.intel.com
Tue Oct 24 13:51:05 UTC 2023
On Fri, 20 Oct 2023 16:30:39 +0300
Petri Latvala <adrinael at adrinael.net> wrote:
> As the syntax for "all subtests" and "test that doesn't have subtests"
> is the same, check the subtest listing when building the execution
> plan. Doing that makes it possible to still have "all subtests" in
> testlists (albeit not originally designed to support that) and enables
> blocklisting particular subtests.
>
> Signed-off-by: Petri Latvala <adrinael at adrinael.net>
> Cc: Mauro Carvalho Chehab <mchehab at kernel.org>
> Cc: Arkadiusz Hiler <arek at hiler.eu>
> Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> Cc: Ashutosh Dixit <ashutosh.dixit at intel.com>
> Closes: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/149
That does the job.
Reviewed-by: Mauro Carvalho Chehab <mchehab at kernel.org>
> ---
> runner/job_list.c | 22 +++++++++++++++++++++-
> 1 file changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/runner/job_list.c b/runner/job_list.c
> index e6ea83631..27cbb10bc 100644
> --- a/runner/job_list.c
> +++ b/runner/job_list.c
> @@ -230,8 +230,28 @@ static bool job_list_from_test_list(struct job_list *job_list,
> continue;
>
> if (sscanf(line, "igt@%ms", &binary) == 1) {
> - if ((delim = strchr(binary, '@')) != NULL)
> + if ((delim = strchr(binary, '@')) != NULL) {
> *delim++ = '\0';
> + } else {
> + /*
> + * No subtests specified. Check
> + * whether the user means "all
> + * subtests" or if the test doesn't
> + * have any.
> + */
> + if (entry.binary) {
> + /* First flush the entry we're building for multiple-mode */
> + add_job_list_entry(job_list, entry.binary, entry.subtests, entry.subtest_count);
> + memset(&entry, 0, sizeof(entry));
> + any = true;
> + }
> +
> + add_subtests(job_list, settings, binary,
> + &settings->include_regexes,
> + &settings->exclude_regexes);
> + any = true;
> + continue;
> + }
>
> if (!settings->multiple_mode) {
> char **subtests = NULL;
More information about the igt-dev
mailing list