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 <[email protected]>
---
 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

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to