[PATCH v2 i-g-t 4/6] tests: Add core_sysfs

Peter Senna Tschudin peter.senna at linux.intel.com
Fri Jun 13 10:51:43 UTC 2025


core_sysfs is GPU-agnostic test designed to work with any GPU, not
limited to i915 and Xe. The test scans the sysfs directory associated
with the GPU, reads all files, and discards the content.

Cc: marcin.bernatowicz at intel.com
Cc: kamil.konieczny at linux.intel.com
Cc: katarzyna.piecielska at intel.com
Cc: zbigniew.kempczynski at intel.com
Cc: ewelina.musial at intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna at linux.intel.com>
---
v2:
 - changed style of comparison to NULL

 tests/core_sysfs.c                       | 58 ++++++++++++++++++++++++
 tests/intel-ci/fast-feedback.testlist    |  3 +-
 tests/intel-ci/xe-fast-feedback.testlist |  1 +
 tests/meson.build                        |  1 +
 4 files changed, 62 insertions(+), 1 deletion(-)
 create mode 100644 tests/core_sysfs.c

diff --git a/tests/core_sysfs.c b/tests/core_sysfs.c
new file mode 100644
index 000000000..fc97bd77b
--- /dev/null
+++ b/tests/core_sysfs.c
@@ -0,0 +1,58 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_dir.h"
+#include "igt_sysfs.h"
+
+struct {
+	bool warn_on_not_hit;
+} opt = { 0 };
+
+/**
+ * TEST: sysfs test
+ * Description: Read entries from sysfs path.
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: sysfs
+ * Feature: core
+ * Test category: uapi
+ *
+ * SUBTEST: sysfs-read-all-entries
+ * Description: Read all entries from sysfs path
+ *
+ */
+
+IGT_TEST_DESCRIPTION("Read entries from sysfs paths.");
+
+igt_main
+{
+	int fd = -1;
+	int sysfs = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		sysfs = igt_sysfs_open(fd);
+		igt_require(sysfs >= 0);
+
+		igt_dir = igt_dir_create(sysfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Read all entries from sysfs path.");
+	igt_subtest("sysfs-read-all-entries") {
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_fixture {
+		close(sysfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 7902bbdae..7415c51ef 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -3,6 +3,8 @@ igt at i915_module_load@load
 
 # Keep alphabetically sorted by default
 igt at core_auth@basic-auth
+igt at core_debugfs@debugfs-read-all-entries
+igt at core_sysfs@sysfs-read-all-entries
 igt at fbdev@eof
 igt at fbdev@info
 igt at fbdev@nullptr
@@ -53,7 +55,6 @@ igt at i915_getparams_basic@basic-subslice-total
 igt at i915_hangman@error-state-basic
 igt at i915_pciid
 igt at intel_hwmon
-igt at core_debugfs@debugfs-read-all-entries
 igt at intel_sysfs_debugfs@i915-debugfs-read-all-entries
 igt at intel_sysfs_debugfs@i915-sysfs-read-all-entries
 igt at kms_addfb_basic@addfb25-4-tiled
diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index 5fb233fb4..1626e5d7c 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -8,6 +8,7 @@ igt at fbdev@read
 igt at fbdev@write
 
 igt at core_debugfs@debugfs-read-all-entries
+igt at core_sysfs@sysfs-read-all-entries
 igt at intel_sysfs_debugfs@xe-base
 igt at intel_sysfs_debugfs@xe-debugfs-read-all-entries
 igt at intel_sysfs_debugfs@xe-forcewake
diff --git a/tests/meson.build b/tests/meson.build
index c05c023ef..da9247ddc 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -8,6 +8,7 @@ test_progs = [
 	'core_hotunplug',
 	'core_setmaster',
 	'core_setmaster_vs_auth',
+	'core_sysfs',
 	'dmabuf',
 	'dmabuf_sync_file',
 	'device_reset',
-- 
2.43.0



More information about the igt-dev mailing list