Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Kamil Konieczny <kamil.konieczny@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: "Kamil Konieczny" <kamil.konieczny@linux.intel.com>,
	"Mauro Carvalho Chehab" <mauro.chehab@linux.intel.com>,
	"Sai Gowtham Ch" <sai.gowtham.ch@intel.com>,
	"Zbigniew Kempczyński" <zbigniew.kempczynski@intel.com>
Subject: [PATCH i-g-t] tests/device_reset: move later skips into subtests
Date: Thu, 25 Apr 2024 16:05:44 +0200	[thread overview]
Message-ID: <20240425140544.41750-1-kamil.konieczny@linux.intel.com> (raw)

It is safe to use skips just after igt_main() for skipping all
subtests but later on they produce logs and even if CI will
ignore that, such logs can mislead developers reading them.

Move a skip from middle of igt_main() code block into subtests
which needed them.

v2: add space after while (Kamil)
v3: remove macro in favor of function (Zbigniew)

Cc: Mauro Carvalho Chehab <mauro.chehab@linux.intel.com>
Cc: Sai Gowtham Ch <sai.gowtham.ch@intel.com>
Cc: "Zbigniew Kempczyński" <zbigniew.kempczynski@intel.com>
Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 tests/device_reset.c | 36 ++++++++++++++++++++++++++++++------
 1 file changed, 30 insertions(+), 6 deletions(-)

diff --git a/tests/device_reset.c b/tests/device_reset.c
index 583a59039..09558ff20 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -299,6 +299,29 @@ static bool is_sysfs_cold_reset_supported(int slot_fd)
 	return true;
 }
 
+/**
+ * cold_reset_not_supported:
+ * @fd: opened sysfs pci slot descriptor
+ *
+ * Check if device supports cold reset based on slot dir or sysfs file presence.
+ *
+ * Returns:
+ * NULL if device supports cold reset, otherwise a string description
+ */
+static const char *cold_reset_not_supported(int slot_dir)
+{
+	static const char *no_slot = "Gfx Card does not support any pcie slot for cold reset";
+	static const char *not_supported = "Gfx Card does not support cold reset";
+
+	if (slot_dir < 0)
+		return no_slot;
+
+	if (!is_sysfs_cold_reset_supported(slot_dir))
+		return not_supported;
+
+	return NULL;
+}
+
 /* Unbind the driver from the device */
 static void driver_unbind(struct device_fds *dev)
 {
@@ -424,22 +447,23 @@ igt_main
 		healthcheck(&dev);
 	}
 
-	igt_subtest_group {
-		igt_fixture {
-			igt_skip_on_f(dev.fds.slot_dir < 0, "Gfx Card does not support any "
-				      "pcie slot for cold reset\n");
-			igt_skip_on(!is_sysfs_cold_reset_supported(dev.fds.slot_dir));
-		}
 
+	igt_subtest_group {
 		igt_describe("Unbinds driver from device, initiates cold reset"
 			     " then rebinds driver to device");
 		igt_subtest("unbind-cold-reset-rebind") {
+			const char *reason = cold_reset_not_supported(dev.fds.slot_dir);
+
+			igt_skip_on_f(reason, "%s\n", reason);
 			unbind_reset_rebind(&dev, COLD_RESET);
 			healthcheck(&dev);
 		}
 
 		igt_describe("Cold Resets device with bound driver");
 		igt_subtest("cold-reset-bound") {
+			const char *reason = cold_reset_not_supported(dev.fds.slot_dir);
+
+			igt_skip_on_f(reason, "%s\n", reason);
 			initiate_device_reset(&dev, COLD_RESET);
 			/*
 			 * Cold reset will initiate card boot sequence again,
-- 
2.42.0


             reply	other threads:[~2024-04-25 14:05 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-25 14:05 Kamil Konieczny [this message]
2024-04-25 15:22 ` ✗ Fi.CI.BAT: failure for tests/device_reset: move later skips into subtests (rev3) Patchwork
2024-04-25 16:44   ` Kamil Konieczny
2024-04-26  7:56     ` Illipilli, TejasreeX
2024-04-26  7:43 ` ✓ Fi.CI.BAT: success " Patchwork
2024-04-26  8:55 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-04-26 10:08   ` Kamil Konieczny
2024-04-26 10:34   ` Kamil Konieczny
2024-04-26 16:35 ` [PATCH i-g-t] tests/device_reset: move later skips into subtests Zbigniew Kempczyński
  -- strict thread matches above, loose matches on Subject: below --
2024-04-05 12:56 Kamil Konieczny
2024-04-04 15:41 Kamil Konieczny
2024-04-10 17:49 ` Zbigniew Kempczyński

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=20240425140544.41750-1-kamil.konieczny@linux.intel.com \
    --to=kamil.konieczny@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=mauro.chehab@linux.intel.com \
    --cc=sai.gowtham.ch@intel.com \
    --cc=zbigniew.kempczynski@intel.com \
    /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