[PATCH v4 i-g-t 4/6] tests: Add core_sysfs
Peter Senna Tschudin
peter.senna at linux.intel.com
Tue Jul 8 09:09:22 UTC 2025
On 7/7/2025 11:07 PM, Peter Senna Tschudin wrote:
> 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: lucas.demarchi at intel.com
> Cc: rodrigo.vivi at intel.com
> Cc: kamil.konieczny at linux.intel.com
> Cc: katarzyna.piecielska at intel.com
> Cc: zbigniew.kempczynski at intel.com
> Cc: michal.wajdeczko at intel.com
> Cc: karthik.b.s at intel.com
> Signed-off-by: Peter Senna Tschudin <peter.senna at linux.intel.com>
> ---
> v4:
> - unchanged from v3
> v3:
> - removed "sysfs" from the name of subtest (Thanks Michal Wajdeczko)
> v2:
> - changed style of comparison to NULL
>
> 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..db70e940b
> --- /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 };
This is unneeded. Will remove.
> +
> +/**
> + * 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: 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("read-all-entries") {
> + igt_dir_scan_dirfd(igt_dir, -1);
> + igt_dir_process_files(igt_dir, NULL, NULL);
> + }
> +
> + igt_fixture {
Missing a call to igt_dir_destroy(igt_dir) here
> + close(sysfs);
> + drm_close_driver(fd);
> + }
> +}
> diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
> index 3ec1b95cf..5d4d101ef 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@read-all-entries
> +igt at core_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 ac3177ae9..a5f799f6b 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@read-all-entries
> +igt at core_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 1009bef2e..4976f2d91 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -7,6 +7,7 @@ test_progs = [
> 'core_hotunplug',
> 'core_setmaster',
> 'core_setmaster_vs_auth',
> + 'core_sysfs',
> 'dmabuf',
> 'dmabuf_sync_file',
> 'device_reset',
More information about the igt-dev
mailing list