From bd3d1bc3c3f860b8ba5797ad4d363765194a6cb3 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 20 Feb 2020 14:52:06 +0200 Subject: lib: Update selftests to use dynamic subtests Use the new igt_subtest_with_dynamic to nicely group the dynamic subtests together. Signed-off-by: Chris Wilson Cc: Petri Latvala Cc: Tomi Sarvela Acked-by: Petri Latvala Acked-by: Tomi Sarvela Acked-by: Martin Peres --- lib/igt_kmod.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'lib/igt_kmod.c') diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c index 05019c24..e701545d 100644 --- a/lib/igt_kmod.c +++ b/lib/igt_kmod.c @@ -21,6 +21,7 @@ * IN THE SOFTWARE. */ +#include #include #include @@ -602,6 +603,18 @@ void igt_kselftest_fini(struct igt_kselftest *tst) kmod_module_unref(tst->kmod); } +static const char *unfilter(const char *filter, const char *name) +{ + if (!filter) + return name; + + name += strlen(filter); + if (!isalpha(*name)) + name++; + + return name; +} + void igt_kselftests(const char *module_name, const char *options, const char *result, @@ -618,10 +631,12 @@ void igt_kselftests(const char *module_name, igt_require(igt_kselftest_begin(&tst) == 0); igt_kselftest_get_tests(tst.kmod, filter, &tests); - igt_list_for_each_entry_safe(tl, tn, &tests, link) { - igt_subtest_f("%s", tl->name) - igt_kselftest_execute(&tst, tl, options, result); - free(tl); + igt_subtest_with_dynamic(filter ?: "all") { + igt_list_for_each_entry_safe(tl, tn, &tests, link) { + igt_dynamic_f("%s", unfilter(filter, tl->name)) + igt_kselftest_execute(&tst, tl, options, result); + free(tl); + } } igt_fixture { -- cgit v1.2.3