[PATCH i-g-t v2 12/66] tests/xe_eudebug: Test open close events
Piatkowski, Dominik Karol
dominik.karol.piatkowski at intel.com
Thu Aug 1 11:53:50 UTC 2024
Reviewed-by: Dominik Karol Piątkowski <dominik.karol.piatkowski at intel.com>
> -----Original Message-----
> From: Manszewski, Christoph <christoph.manszewski at intel.com>
> Sent: Tuesday, July 30, 2024 1:44 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Kempczynski, Zbigniew <zbigniew.kempczynski at intel.com>; Kamil
> Konieczny <kamil.konieczny at linux.intel.com>; Grzegorzek, Dominik
> <dominik.grzegorzek at intel.com>; Patelczyk, Maciej
> <maciej.patelczyk at intel.com>; Piatkowski, Dominik Karol
> <dominik.karol.piatkowski at intel.com>; Sikora, Pawel
> <pawel.sikora at intel.com>; Hajda, Andrzej <andrzej.hajda at intel.com>;
> Kolanupaka Naveena <kolanupaka.naveena at intel.com>; Kuoppala, Mika
> <mika.kuoppala at intel.com>; Mun, Gwan-gyeong <gwan-
> gyeong.mun at intel.com>
> Subject: [PATCH i-g-t v2 12/66] tests/xe_eudebug: Test open close events
>
> From: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
>
> Introduce basic tests which validate client create/destroy events sent on xe
> drm client open/close.
>
> Signed-off-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> Signed-off-by: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
> Cc: Christoph Manszewski <christoph.manszewski at intel.com>
> ---
> tests/intel/xe_eudebug.c | 49
> +++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 48 insertions(+), 1 deletion(-)
>
> diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c index
> 44a491319..7ca0138a2 100644
> --- a/tests/intel/xe_eudebug.c
> +++ b/tests/intel/xe_eudebug.c
> @@ -12,8 +12,16 @@
> * Test category: functionality test
> */
>
> -#include <xe_drm.h>
> #include "igt.h"
> +#include "xe/xe_eudebug.h"
> +
> +static void run_basic_client(struct xe_eudebug_client *c) {
> + int fd;
> +
> + fd = xe_eudebug_client_open_driver(c);
> + xe_eudebug_client_close_driver(c, fd); }
>
> static int __debug_connect(int fd, int *debugfd, struct
> drm_xe_eudebug_connect *param) { @@ -116,6 +124,39 @@ static void
> test_close(int fd)
> close(debug_fd1);
> }
>
> +/**
> + * SUBTEST: basic-client
> + * Description:
> + * Attach the debugger to process which opens and closes xe drm client.
> + *
> + * SUBTEST: multiple-sessions
> + * Description:
> + * Simultaneously attach many debuggers to many processes.
> + * Each process opens and closes xe drm client.
> + */
> +
> +static void test_basic_sessions(int fd, unsigned int flags, int count)
> +{
> + struct xe_eudebug_session **s;
> + int i;
> +
> + s = calloc(count, sizeof(*s));
> +
> + igt_assert(s);
> +
> + for (i = 0; i < count; i++)
> + s[i] = xe_eudebug_session_create(fd, run_basic_client, flags,
> NULL);
> +
> + for (i = 0; i < count; i++)
> + xe_eudebug_session_run(s[i]);
> +
> + for (i = 0; i < count; i++)
> + xe_eudebug_session_check(s[i], true, 0);
> +
> + for (i = 0; i < count; i++)
> + xe_eudebug_session_destroy(s[i]);
> +}
> +
> igt_main
> {
> int fd;
> @@ -130,6 +171,12 @@ igt_main
> igt_subtest("basic-close")
> test_close(fd);
>
> + igt_subtest("basic-client")
> + test_basic_sessions(fd, 0, 1);
> +
> + igt_subtest("multiple-sessions")
> + test_basic_sessions(fd, 0, 4);
> +
> igt_fixture
> drm_close_driver(fd);
> }
> --
> 2.34.1
More information about the igt-dev
mailing list