[PATCH i-g-t 4/5] tests/core_sysfs: Add GPU-agnostic sysfs testing

Peter Senna Tschudin peter.senna at linux.intel.com
Thu May 22 11:00:47 UTC 2025


Introduces core_sysfs, a 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>
---
 tests/core_sysfs.c                       | 58 ++++++++++++++++++++++++
 tests/intel-ci/fast-feedback.testlist    |  1 +
 tests/intel-ci/xe-fast-feedback.testlist |  1 +
 tests/meson.build                        |  1 +
 4 files changed, 61 insertions(+)
 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..09d0b7429
--- /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 != NULL);
+
+		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 9d421f402..aa7f57b1f 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -4,6 +4,7 @@ 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
diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index c8bfc7fa7..0a02667d7 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 kms_addfb_basic@addfb25-4-tiled
 igt at kms_addfb_basic@addfb25-bad-modifier
diff --git a/tests/meson.build b/tests/meson.build
index 97633a53b..212a4c3b8 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