[igt-dev] [PATCH i-g-t] i915/selftest: Allow filtering of individual subtests
Katarzyna Dec
katarzyna.dec at intel.com
Thu Jan 24 14:28:27 UTC 2019
On Tue, Jan 22, 2019 at 06:35:21PM +0000, Chris Wilson wrote:
> Take an environment variable, SELFTESTS=foo,bar, and pass that along to
> the kernel (as i915.st_filter=foo,bar) to provide fine grained test
> selection. This can be either as an exact match to select only that
> test, or to exclude only test. For example,
>
> SELFTESTS=igt_vma_create,igt_vma_pin1 i915_selftest --run mock_vma
> SELFTESTS=!igt_vma_create i915_selftest --run mock_vma
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
If I understand correctly we can choose specific subtest or exclude specific
subtest from binary?
That is a really nice feature :) I didn't have chance to use it, but LGTM.
Kasia :)
> ---
> tests/i915/selftest.c | 18 ++++++++++++------
> 1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/tests/i915/selftest.c b/tests/i915/selftest.c
> index 80e515c61..b8d7f0af1 100644
> --- a/tests/i915/selftest.c
> +++ b/tests/i915/selftest.c
> @@ -28,10 +28,16 @@ IGT_TEST_DESCRIPTION("Basic unit tests for i915.ko");
>
> igt_main
> {
> - igt_kselftests("i915",
> - "mock_selftests=-1 disable_display=1",
> - NULL, "mock");
> - igt_kselftests("i915",
> - "live_selftests=-1 disable_display=1",
> - "live_selftests", "live");
> + const char *env = getenv("SELFTESTS");
> + char opts[1024];
> +
> + igt_assert(snprintf(opts, sizeof(opts),
> + "mock_selftests=-1 disable_display=1 st_filter=%s",
> + env) < sizeof(opts));
> + igt_kselftests("i915", opts, NULL, "mock");
> +
> + igt_assert(snprintf(opts, sizeof(opts),
> + "live_selftests=-1 disable_display=1 st_filter=%s",
> + env) < sizeof(opts));
> + igt_kselftests("i915", opts, "live_selftests", "live");
> }
> --
> 2.20.1
>
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
More information about the igt-dev
mailing list