buffer: Add test to ensure that memories in a non-writable buffer are not writable
authorSebastian Dröge <sebastian@centricular.com>
Fri, 29 Jun 2018 05:16:28 +0000 (07:16 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 9 Jul 2018 07:45:45 +0000 (09:45 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=796692

tests/check/gst/gstbuffer.c

index b8e2bee..a3fddd0 100644 (file)
@@ -887,6 +887,23 @@ GST_START_TEST (test_parent_buffer_meta)
 
 GST_END_TEST;
 
+GST_START_TEST (test_writable_memory)
+{
+  GstBuffer *buf;
+  GstMemory *mem;
+
+  buf = gst_buffer_new_and_alloc (10);
+  /* make buffer read-only */
+  gst_buffer_ref (buf);
+
+  mem = gst_buffer_peek_memory (buf, 0);
+  fail_if (gst_memory_is_writable (mem));
+
+  gst_buffer_unref (buf);
+  gst_buffer_unref (buf);
+}
+
+GST_END_TEST;
 
 static Suite *
 gst_buffer_suite (void)
@@ -911,6 +928,7 @@ gst_buffer_suite (void)
   tcase_add_test (tc_chain, test_find);
   tcase_add_test (tc_chain, test_fill);
   tcase_add_test (tc_chain, test_parent_buffer_meta);
+  tcase_add_test (tc_chain, test_writable_memory);
 
   return s;
 }