From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 10B7410E290 for ; Mon, 5 Jun 2023 10:48:03 +0000 (UTC) From: Dominik Karol Piatkowski Date: Mon, 5 Jun 2023 12:47:15 +0200 Message-Id: <20230605104716.5678-8-dominik.karol.piatkowski@intel.com> In-Reply-To: <20230605104716.5678-1-dominik.karol.piatkowski@intel.com> References: <20230605104716.5678-1-dominik.karol.piatkowski@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Subject: [igt-dev] [PATCH i-g-t 7/8] kunit tests: add an optional name for the selftests List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: From: Mauro Carvalho Chehab When multiple KUnit tests are called by the same program, it is interesting to group them with a name. This would allow IGT namespace to better refer to the KUnit tests and will give some filtering capability to it. After those changes, the IGT kUnit tests will be better named: $ for i in kms_selftest drm_buddy drm_mm; do echo $i:; build/tests/$i --list; echo; done kms_selftest: drm_cmdline drm_damage drm_dp_mst drm_format_helper drm_format framebuffer drm_plane all-tests drm_buddy: all-tests drm_mm: all-tests Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Dominik Karol PiÄ…tkowski --- lib/igt_kmod.c | 7 +++++-- lib/igt_kmod.h | 2 +- tests/drm_buddy.c | 2 +- tests/drm_mm.c | 3 ++- tests/kms_selftest.c | 23 +++++++++++++++++------ 5 files changed, 26 insertions(+), 11 deletions(-) diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c index 1309ab21..c62eb97a 100644 --- a/lib/igt_kmod.c +++ b/lib/igt_kmod.c @@ -852,7 +852,7 @@ unload: return ret; } -int igt_kunit(const char *module_name, const char *opts) +int igt_kunit(const char *module_name, const char *name, const char *opts) { /* * We need to use igt_subtest here, as otherwise it may crash with: @@ -861,7 +861,10 @@ int igt_kunit(const char *module_name, const char *opts) * proper namespace for dynamic subtests, with is required for CI * and for documentation. */ - igt_subtest_with_dynamic("all-tests") + if (name == NULL) + name = "all-tests"; + + igt_subtest_with_dynamic(name) return __igt_kunit(module_name, opts); return 0; } diff --git a/lib/igt_kmod.h b/lib/igt_kmod.h index ce17c714..24895547 100644 --- a/lib/igt_kmod.h +++ b/lib/igt_kmod.h @@ -71,7 +71,7 @@ static inline int igt_xe_driver_unload(void) int igt_amdgpu_driver_load(const char *opts); int igt_amdgpu_driver_unload(void); -int igt_kunit(const char *module_name, const char *opts); +int igt_kunit(const char *module_name, const char *name, const char *opts); void igt_kselftests(const char *module_name, const char *module_options, diff --git a/tests/drm_buddy.c b/tests/drm_buddy.c index 3261f0d6..09feaf63 100644 --- a/tests/drm_buddy.c +++ b/tests/drm_buddy.c @@ -10,7 +10,7 @@ IGT_TEST_DESCRIPTION("Basic sanity check of DRM's buddy allocator (struct drm_bu igt_main { - int ret = igt_kunit("drm_buddy_test", NULL); + int ret = igt_kunit("drm_buddy_test", NULL, NULL); if (ret != 0 && ret != IGT_EXIT_ABORT) igt_kselftests("test-drm_buddy", NULL, NULL, NULL); } diff --git a/tests/drm_mm.c b/tests/drm_mm.c index 88f76a57..ada8cb93 100644 --- a/tests/drm_mm.c +++ b/tests/drm_mm.c @@ -156,7 +156,8 @@ IGT_TEST_DESCRIPTION("Basic sanity check of DRM's range manager (struct drm_mm)" igt_main { - int ret = igt_kunit("drm_mm_test", NULL); + int ret = igt_kunit("drm_mm_test", NULL, NULL); + if (ret != 0 && ret != IGT_EXIT_ABORT) igt_kselftests("test-drm_mm", NULL, NULL, NULL); } diff --git a/tests/kms_selftest.c b/tests/kms_selftest.c index b27f60fb..d83e5ff4 100644 --- a/tests/kms_selftest.c +++ b/tests/kms_selftest.c @@ -26,15 +26,26 @@ IGT_TEST_DESCRIPTION("Basic sanity check of KMS selftests."); +struct kms_kunittests { + const char *kunit; + const char *name; +}; + igt_main { - static const char *kunit_subtests[] = { "drm_cmdline_parser_test", "drm_damage_helper_test", - "drm_dp_mst_helper_test", "drm_format_helper_test", - "drm_format_test", "drm_framebuffer_test", - "drm_plane_helper_test", NULL }; + static const struct kms_kunittests kunit_subtests[] = { + { "drm_cmdline_parser_test", "drm_cmdline" }, + { "drm_damage_helper_test", "drm_damage" }, + { "drm_dp_mst_helper_test", "drm_dp_mst" }, + { "drm_format_helper_test", "drm_format_helper" }, + { "drm_format_test", "drm_format" }, + { "drm_framebuffer_test", "framebuffer" }, + { "drm_plane_helper_test", "drm_plane" }, + { NULL, NULL} + }; - for (int i = 0; kunit_subtests[i] != NULL; i++) - igt_kunit(kunit_subtests[i], NULL); + for (int i = 0; kunit_subtests[i].kunit != NULL; i++) + igt_kunit(kunit_subtests[i].kunit, kunit_subtests[i].name, NULL); igt_kselftests("test-drm_modeset", NULL, NULL, NULL); } -- 2.34.1