summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2013-08-19 14:55:22 -0400
committerOlivier CrĂȘte <olivier.crete@collabora.com>2013-08-20 14:41:27 -0400
commitf90f3cde5f165daa99b9756eba4b98bc26aa1362 (patch)
tree0dae4a3cbce3cc150553f48303de8980c225d6ed /tests
parentbd2ece0c4814ca610fd212f5c11409d79bee6301 (diff)
buffer: Fix gst_buffer_memcmp() where the buffer is smaller than size
Also add unit tests for gst_buffer_memcmp https://bugzilla.gnome.org/show_bug.cgi?id=706162
Diffstat (limited to 'tests')
-rw-r--r--tests/check/gst/gstbuffer.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c
index e3da42c5e..e52175ff4 100644
--- a/tests/check/gst/gstbuffer.c
+++ b/tests/check/gst/gstbuffer.c
@@ -294,6 +294,33 @@ GST_START_TEST (test_metadata_writable)
GST_END_TEST;
+GST_START_TEST (test_memcmp)
+{
+ GstBuffer *buffer;
+ char buf[3] = { 0, 0, 0 };
+
+ buffer = gst_buffer_new_and_alloc (2);
+ gst_buffer_memset (buffer, 0, 0, 2);
+
+ fail_unless (gst_buffer_memcmp (buffer, 0, buf, 2) == 0);
+ fail_unless (gst_buffer_memcmp (buffer, 0, buf, 1) == 0);
+ fail_unless (gst_buffer_memcmp (buffer, 1, buf, 1) == 0);
+ fail_unless (gst_buffer_memcmp (buffer, 0, buf, 3) != 0);
+ fail_unless (gst_buffer_memcmp (buffer, 2, buf, 1) != 0);
+ fail_unless (gst_buffer_memcmp (buffer, 4, buf, 1) != 0);
+
+ gst_buffer_memset (buffer, 0, 0x20, 2);
+ fail_unless (gst_buffer_memcmp (buffer, 0, buf, 2) != 0);
+ fail_unless (gst_buffer_memcmp (buffer, 0, buf, 1) != 0);
+ fail_unless (gst_buffer_memcmp (buffer, 1, buf, 1) != 0);
+ fail_unless (gst_buffer_memcmp (buffer, 0, buf, 3) != 0);
+ fail_unless (gst_buffer_memcmp (buffer, 2, buf, 1) != 0);
+
+ gst_buffer_unref (buffer);
+}
+
+GST_END_TEST;
+
GST_START_TEST (test_copy)
{
GstBuffer *buffer, *copy;
@@ -842,6 +869,7 @@ gst_buffer_suite (void)
tcase_add_test (tc_chain, test_make_writable);
tcase_add_test (tc_chain, test_span);
tcase_add_test (tc_chain, test_metadata_writable);
+ tcase_add_test (tc_chain, test_memcmp);
tcase_add_test (tc_chain, test_copy);
tcase_add_test (tc_chain, test_try_new_and_alloc);
tcase_add_test (tc_chain, test_size);