From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: christoph.manszewski@intel.com,
dominik.karol.piatkowski@intel.com, maciej.patelczyk@intel.com,
jan.maslak@intel.com, zbigniew.kempczynski@intel.com,
Mika Kuoppala <mika.kuoppala@linux.intel.com>
Subject: [PATCH i-g-t 20/21] tests/intel/xe_eudebug: Add render node testing
Date: Mon, 12 Jan 2026 15:00:06 +0200 [thread overview]
Message-ID: <20260112130008.1649357-21-mika.kuoppala@linux.intel.com> (raw)
In-Reply-To: <20260112130008.1649357-1-mika.kuoppala@linux.intel.com>
We need basic-connect to also check if render node is
available for connection.
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
tests/intel/xe_eudebug.c | 41 ++++++++++++++++++++++++++++++++++------
1 file changed, 35 insertions(+), 6 deletions(-)
diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c
index 4e7ba0348d..01410f3197 100644
--- a/tests/intel/xe_eudebug.c
+++ b/tests/intel/xe_eudebug.c
@@ -460,6 +460,9 @@ static int __debug_connect(int fd, int *debugfd, struct drm_xe_eudebug_connect *
return ret;
}
+
+#define TEST_CONNECT_RENDER BIT(0)
+
/**
* SUBTEST: basic-connect
* Functionality: attach
@@ -467,23 +470,34 @@ static int __debug_connect(int fd, int *debugfd, struct drm_xe_eudebug_connect *
* Exercise XE_EUDEBUG_CONNECT ioctl with passing
* valid and invalid params.
*/
-static void test_connect(int fd)
+static void test_connect(int fd, unsigned int flags)
{
struct drm_xe_eudebug_connect param = {};
- int debugfd, ret;
+ int debugfd, ret, render_fd, target_fd;
pid_t *pid;
pid = mmap(NULL, sizeof(pid_t), PROT_WRITE,
MAP_SHARED | MAP_ANON, -1, 0);
+ if (flags & TEST_CONNECT_RENDER)
+ render_fd = drm_open_driver_render(DRIVER_XE);
+
/* get fresh unrelated pid */
- igt_fork(child, 1)
+ igt_fork(child, 1) {
+ if (flags & TEST_CONNECT_RENDER)
+ close(fd);
*pid = getpid();
+ igt_info("client in pid %d\n", *pid);
+ sleep(5);
+ }
- igt_waitchildren();
- param.fd = xe_eudebug_fd_for_pid(*pid);
+ /* XXX build a sync mechanism */
+ sleep(1);
+ target_fd = xe_eudebug_fd_for_pid(*pid);
+ igt_assert(target_fd >= 0);
munmap(pid, sizeof(pid_t));
+ param.fd = target_fd + random() + 1;
ret = __debug_connect(fd, &debugfd, ¶m);
igt_assert(debugfd == -1);
igt_assert_eq(ret, -EBADFD);
@@ -493,7 +507,15 @@ static void test_connect(int fd)
igt_assert(debugfd == -1);
igt_assert_eq(ret, -EINVAL);
+ param.fd = target_fd;
+ ret = __debug_connect(fd, &debugfd, ¶m);
+ igt_assert_neq(debugfd, -1);
+ igt_assert_eq(ret, 0);
+
+ close(debugfd);
+
param.fd = xe_eudebug_fd_for_pid(getpid());
+ igt_assert((int)param.fd >= 0);
param.version = -1;
ret = __debug_connect(fd, &debugfd, ¶m);
igt_assert(debugfd == -1);
@@ -517,6 +539,10 @@ static void test_connect(int fd)
igt_assert_eq(ret, 0);
close(debugfd);
+ if (flags & TEST_CONNECT_RENDER)
+ close(render_fd);
+
+ igt_waitchildren();
}
static void switch_user(__uid_t uid, __gid_t gid)
@@ -2789,7 +2815,10 @@ int igt_main()
test_sysfs_toggle(fd);
igt_subtest("basic-connect")
- test_connect(fd);
+ test_connect(fd, 0);
+
+ igt_subtest("basic-connect-render")
+ test_connect(fd, TEST_CONNECT_RENDER);
igt_subtest("connect-user")
test_connect_user(fd);
--
2.43.0
next prev parent reply other threads:[~2026-01-12 13:01 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-12 12:59 [PATCH i-g-t 00/21] eudebug: uapi changes on connect and metadata Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 01/21] lib/xe/xe_eudebug: Dont compare if everything filtered Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 02/21] lib/xe/xe_eudebug: Make sure debugger drains events Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 03/21] lib/xe/xe_eudebug: Avoid matching if event is filtered Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 04/21] tests/intel/xe_eudebug_sriov: Align expected return code Mika Kuoppala
2026-01-12 13:12 ` Piatkowski, Dominik Karol
2026-01-12 12:59 ` [PATCH i-g-t 05/21] eudebug: Remove metadata tests Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 06/21] eudebug: Remove EVENT_OPEN and adjust tests Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 07/21] tests/xe_eudebug: Adapt basic-read-event Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 08/21] tests/intel/xe_eudebug: Fix connect-user test Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 09/21] tests/intel/xe_eudebug: Mold ufence reconnect test to disconnect Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 10/21] lib/xe_eudebug: Adapt to vm_bind debug data Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 11/21] tests/xe_eudebug: Adapt basic-vm-bind and remove basic-vm-bind-extended Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 12/21] tests/xe_eudebug: Adapt some ufence reliant tests to new vm_bind event interface Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 13/21] tests/xe_eudebug: Adapt vm-bind-clear* subtests to debug data Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 14/21] lib/xe_eudebug: Remove unused xe_eudebug_client_vm_bind wrappers Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 15/21] tests/xe_eudebug: Add vm-bind-debug-data-ufence subtest Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 16/21] lib/intel_batchbuffer: Add dummy OP_DEBUG_DATA operation to __xe_alloc_bind_ops Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 17/21] tests/xe_eudebug_online: Adapt set-breakpoint test to work with new vm bind event interface Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 18/21] tests/xe_eudebug_online: Adapt several subtests " Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 19/21] lib/xe/xe_eudebug: Add callback for session work Mika Kuoppala
2026-01-12 13:00 ` Mika Kuoppala [this message]
2026-01-12 13:00 ` [PATCH i-g-t 21/21] eudebug: Update xe_drm_eudebug.h uapi Mika Kuoppala
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=20260112130008.1649357-21-mika.kuoppala@linux.intel.com \
--to=mika.kuoppala@linux.intel.com \
--cc=christoph.manszewski@intel.com \
--cc=dominik.karol.piatkowski@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=jan.maslak@intel.com \
--cc=maciej.patelczyk@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