mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
tests: allocators: Fix fdmem test with recent GLib
The test failed with recent GLib, where `g_close` emits a critical warning on EBADF. Remove the `g_close` check from `test_fdmem` and add another version that tests `GST_FD_MEMORY_FLAG_DONT_CLOSE`. We will depend on the Valgrind test run to warn us about leaked FDs. Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2480 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4381>
This commit is contained in:
parent
9489fb3f54
commit
77bc9b4a33
1 changed files with 38 additions and 1 deletions
|
@ -95,7 +95,43 @@ GST_START_TEST (test_fdmem)
|
|||
gst_memory_unmap (mem, &info);
|
||||
|
||||
gst_memory_unref (mem);
|
||||
fail_unless (g_close (fd, NULL) == 0);
|
||||
gst_object_unref (alloc);
|
||||
}
|
||||
|
||||
GST_END_TEST;
|
||||
|
||||
GST_START_TEST (test_fdmem_dont_close)
|
||||
{
|
||||
GstAllocator *alloc;
|
||||
GstMemory *mem;
|
||||
GstMapInfo info;
|
||||
GError *error = NULL;
|
||||
int fd;
|
||||
const char *data = "0123456789";
|
||||
|
||||
fd = g_file_open_tmp (NULL, NULL, &error);
|
||||
fail_if (error);
|
||||
fail_unless (write (fd, data, 10) == 10);
|
||||
|
||||
alloc = gst_fd_allocator_new ();
|
||||
fail_unless (alloc);
|
||||
mem = gst_fd_allocator_alloc (alloc, fd, 10,
|
||||
GST_FD_MEMORY_FLAG_KEEP_MAPPED | GST_FD_MEMORY_FLAG_DONT_CLOSE);
|
||||
|
||||
fail_unless (gst_memory_map (mem, &info, GST_MAP_READ));
|
||||
fail_unless (info.data[5] == '5');
|
||||
gst_memory_unmap (mem, &info);
|
||||
|
||||
fail_unless (gst_memory_map (mem, &info, GST_MAP_WRITE));
|
||||
info.data[5] = 'X';
|
||||
gst_memory_unmap (mem, &info);
|
||||
|
||||
fail_unless (gst_memory_map (mem, &info, GST_MAP_READ));
|
||||
fail_unless (info.data[5] == 'X');
|
||||
gst_memory_unmap (mem, &info);
|
||||
|
||||
gst_memory_unref (mem);
|
||||
fail_unless (g_close (fd, NULL));
|
||||
gst_object_unref (alloc);
|
||||
}
|
||||
|
||||
|
@ -110,6 +146,7 @@ allocators_suite (void)
|
|||
suite_add_tcase (s, tc_chain);
|
||||
tcase_add_test (tc_chain, test_dmabuf);
|
||||
tcase_add_test (tc_chain, test_fdmem);
|
||||
tcase_add_test (tc_chain, test_fdmem_dont_close);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue