[PATCH i-g-t v2 35/66] tests/xe_eudebug: Exercise lseek
Christoph Manszewski
christoph.manszewski at intel.com
Tue Jul 30 11:44:52 UTC 2024
From: Jonathan Cavitt <jonathan.cavitt at intel.com>
Add an additional check in debugger_test_vma that simultaneously
exercises lseek support and also that pwrite successfully wrote the
new buffer contents to the vma via pwrite.
Suggested-by: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
Signed-off-by: Jonathan Cavitt <jonathan.cavitt at intel.com>
Cc: Christoph Manszewski <christoph.manszewski at intel.com>
---
tests/intel/xe_eudebug.c | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c
index edb76685e..928dcdce4 100644
--- a/tests/intel/xe_eudebug.c
+++ b/tests/intel/xe_eudebug.c
@@ -1414,13 +1414,15 @@ static void debugger_test_vma(struct xe_eudebug_debugger *d,
uint64_t va_length)
{
struct drm_xe_eudebug_vm_open vo = { 0, };
- uint64_t *v;
+ uint64_t *v1, *v2;
uint64_t items = va_length / sizeof(uint64_t);
int fd;
int r, i;
- v = malloc(va_length);
- igt_assert(v);
+ v1 = malloc(va_length);
+ igt_assert(v1);
+ v2 = malloc(va_length);
+ igt_assert(v2);
vo.client_handle = client_handle;
vo.vm_handle = vm_handle;
@@ -1428,22 +1430,30 @@ static void debugger_test_vma(struct xe_eudebug_debugger *d,
fd = igt_ioctl(d->fd, DRM_XE_EUDEBUG_IOCTL_VM_OPEN, &vo);
igt_assert_lte(0, fd);
- r = pread(fd, v, va_length, va_start);
+ r = pread(fd, v1, va_length, va_start);
igt_assert_eq(r, va_length);
for (i = 0; i < items; i++)
- igt_assert_eq(v[i], va_start + i);
+ igt_assert_eq(v1[i], va_start + i);
for (i = 0; i < items; i++)
- v[i] = va_start + i + 1;
+ v1[i] = va_start + i + 1;
- r = pwrite(fd, v, va_length, va_start);
+ r = pwrite(fd, v1, va_length, va_start);
+ igt_assert_eq(r, va_length);
+
+ lseek(fd, va_start, SEEK_SET);
+ r = read(fd, v2, va_length);
igt_assert_eq(r, va_length);
+ for (i = 0; i < items; i++)
+ igt_assert_eq(v1[i], v2[i]);
+
fsync(fd);
close(fd);
- free(v);
+ free(v1);
+ free(v2);
}
static void vm_trigger(struct xe_eudebug_debugger *d,
--
2.34.1
More information about the igt-dev
mailing list