Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Dominik Karol Piatkowski <dominik.karol.piatkowski@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t 7/8] kunit tests: add an optional name for the selftests
Date: Mon,  5 Jun 2023 12:47:15 +0200	[thread overview]
Message-ID: <20230605104716.5678-8-dominik.karol.piatkowski@intel.com> (raw)
In-Reply-To: <20230605104716.5678-1-dominik.karol.piatkowski@intel.com>

From: Mauro Carvalho Chehab <mchehab@kernel.org>

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 <mchehab@kernel.org>
Signed-off-by: Dominik Karol Piątkowski <dominik.karol.piatkowski@intel.com>
---
 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



  parent reply	other threads:[~2023-06-05 10:48 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-05 10:47 [igt-dev] [PATCH v5 i-g-t 0/8] Introduce KUnit Dominik Karol Piatkowski
2023-06-05 10:47 ` [igt-dev] [PATCH i-g-t 1/8] lib/igt_kmod: rename kselftest functions to ktest Dominik Karol Piatkowski
2023-06-05 10:55   ` Mauro Carvalho Chehab
2023-06-05 10:47 ` [igt-dev] [PATCH i-g-t 2/8] lib/igt_kmod.c: check if module is builtin before attempting to unload it Dominik Karol Piatkowski
2023-06-05 10:56   ` Mauro Carvalho Chehab
2023-06-05 10:47 ` [igt-dev] [PATCH i-g-t 3/8] lib/igt_kmod: add compatibility for KUnit Dominik Karol Piatkowski
2023-06-05 10:59   ` Mauro Carvalho Chehab
2023-06-05 10:47 ` [igt-dev] [PATCH i-g-t 4/8] tests: DRM selftests: switch to KUnit Dominik Karol Piatkowski
2023-06-05 11:00   ` Mauro Carvalho Chehab
2023-06-07 10:24   ` Janusz Krzysztofik
2023-06-07 12:45     ` Mauro Carvalho Chehab
2023-06-07 14:35       ` Janusz Krzysztofik
2023-06-07 14:39         ` Janusz Krzysztofik
2023-06-07 15:59           ` Mauro Carvalho Chehab
2023-06-07 17:40             ` Janusz Krzysztofik
2023-06-08  7:56               ` Mauro Carvalho Chehab
2023-06-05 10:47 ` [igt-dev] [PATCH i-g-t 5/8] Change logic of ktap parser to run on a thread Dominik Karol Piatkowski
2023-06-05 11:03   ` Mauro Carvalho Chehab
2023-06-05 10:47 ` [igt-dev] [PATCH i-g-t 6/8] lib/igt_kmod: place KUnit tests on a subtest Dominik Karol Piatkowski
2023-06-06  7:44   ` Janusz Krzysztofik
2023-06-06  8:21     ` Mauro Carvalho Chehab
2023-06-06  8:41       ` Janusz Krzysztofik
2023-06-06  9:18         ` Mauro Carvalho Chehab
2023-06-06 10:03           ` Janusz Krzysztofik
2023-06-06 13:57             ` Mauro Carvalho Chehab
2023-06-06 14:22               ` Janusz Krzysztofik
2023-06-07  8:10                 ` Mauro Carvalho Chehab
2023-06-05 10:47 ` Dominik Karol Piatkowski [this message]
2023-06-05 10:47 ` [igt-dev] [PATCH i-g-t 8/8] lib/igt_kmod: fix nesting igt_fixture in igt_subtest Dominik Karol Piatkowski
2023-06-05 11:05   ` Mauro Carvalho Chehab
2023-06-06  7:42   ` Janusz Krzysztofik
2023-06-08 13:31   ` Mauro Carvalho Chehab
2023-06-05 12:12 ` [igt-dev] ✓ Fi.CI.BAT: success for Introduce KUnit (rev5) Patchwork
2023-06-06  7:46 ` [igt-dev] [PATCH v5 i-g-t 0/8] Introduce KUnit Janusz Krzysztofik
2023-06-06  7:54   ` Piatkowski, Dominik Karol
2023-06-06  8:18     ` Mauro Carvalho Chehab
2023-06-06  8:35       ` Piatkowski, Dominik Karol
2023-06-07 14:07     ` Janusz Krzysztofik
2023-06-06  9:42 ` [igt-dev] ✗ Fi.CI.IGT: failure for Introduce KUnit (rev5) Patchwork
2023-06-09 10:15 ` [igt-dev] [PATCH v5 i-g-t 0/8] Introduce KUnit Janusz Krzysztofik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230605104716.5678-8-dominik.karol.piatkowski@intel.com \
    --to=dominik.karol.piatkowski@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox