[PATCH v2 i-g-t 7/7] tests/xe_sriov_auto_provisioning: Add 'extended' command line option

Marcin Bernatowicz marcin.bernatowicz at linux.intel.com
Tue Jan 14 15:08:48 UTC 2025


By default, a dynamic subtest is executed with a random num_vfs to limit
execution time. Add an 'extended' command line option to enable
iteration over all possible num_vfs.

Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz at linux.intel.com>
Cc: Adam Miszczak <adam.miszczak at linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski at intel.com>
Cc: Lukasz Laguna <lukasz.laguna at intel.com>
Cc: Michał Wajdeczko <michal.wajdeczko at intel.com>
Cc: Michał Winiarski <michal.winiarski at intel.com>
Cc: Narasimha C V <narasimha.c.v at intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski at intel.com>
Cc: Satyanarayana K V P <satyanarayana.k.v.p at intel.com>
Cc: Tomasz Lis <tomasz.lis at intel.com>
---
 tests/intel/xe_sriov_auto_provisioning.c | 40 +++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)

diff --git a/tests/intel/xe_sriov_auto_provisioning.c b/tests/intel/xe_sriov_auto_provisioning.c
index 1d2aa8624..e13eb3644 100644
--- a/tests/intel/xe_sriov_auto_provisioning.c
+++ b/tests/intel/xe_sriov_auto_provisioning.c
@@ -216,7 +216,30 @@ static void exclusive_ranges(int pf_fd, unsigned int num_vfs)
 	igt_fail_on_f(fails, "exclusive ranges check failed\n");
 }
 
-igt_main
+static bool extended_scope;
+
+static int opts_handler(int opt, int opt_index, void *data)
+{
+	switch (opt) {
+	case 'e':
+		extended_scope = true;
+		break;
+	default:
+		return IGT_OPT_HANDLER_ERROR;
+	}
+
+	return IGT_OPT_HANDLER_SUCCESS;
+}
+
+static const struct option long_opts[] = {
+	{ .name = "extended", .has_arg = false, .val = 'e', },
+	{}
+};
+
+static const char help_str[] =
+	"  --extended\tRun the extended test scope\n";
+
+igt_main_args("", long_opts, help_str, opts_handler, NULL)
 {
 	enum xe_sriov_shared_res res;
 	unsigned int gt;
@@ -245,6 +268,11 @@ igt_main
 
 	igt_describe("Verify that auto-provisioned resources are allocated by PF driver in fairly manner");
 	igt_subtest_with_dynamic("fair-allocation") {
+		if (extended_scope)
+			for_each_sriov_num_vfs(pf_fd, num_vfs)
+				igt_dynamic_f("numvfs-%d", num_vfs)
+					fair_allocation(pf_fd, num_vfs);
+
 		for_random_sriov_num_vfs(pf_fd, num_vfs) {
 			igt_dynamic_f("numvfs-random") {
 				igt_debug("numvfs=%u\n", num_vfs);
@@ -255,6 +283,11 @@ igt_main
 
 	igt_describe("Verify that auto-provisioned resources are released once VFs are disabled");
 	igt_subtest_with_dynamic("resources-released-on-vfs-disabling") {
+		if (extended_scope)
+			for_each_sriov_num_vfs(pf_fd, num_vfs)
+				igt_dynamic_f("numvfs-%d", num_vfs)
+					resources_released_on_vfs_disabling(pf_fd, num_vfs);
+
 		for_random_sriov_num_vfs(pf_fd, num_vfs) {
 			igt_dynamic_f("numvfs-random") {
 				igt_debug("numvfs=%u\n", num_vfs);
@@ -269,6 +302,11 @@ igt_main
 
 		igt_skip_on(total_vfs < 2);
 
+		if (extended_scope)
+			for_each_sriov_num_vfs(pf_fd, num_vfs)
+				igt_dynamic_f("numvfs-%d", num_vfs)
+					exclusive_ranges(pf_fd, num_vfs);
+
 		for_random_sriov_vf_in_range(pf_fd, 2, total_vfs, num_vfs) {
 			igt_dynamic_f("numvfs-random") {
 				igt_debug("numvfs=%u\n", num_vfs);
-- 
2.31.1



More information about the igt-dev mailing list