[igt-dev] [PATCH i-g-t v2] i915/selftest: Allow filtering of individual subtests
Chris Wilson
chris at chris-wilson.co.uk
Tue Jan 29 23:44:58 UTC 2019
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
v2: Replace NULL with the empty string.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
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..6d597e682 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
More information about the igt-dev
mailing list