diff options
author | Olivier CrĂȘte <olivier.crete@collabora.com> | 2013-08-19 14:55:22 -0400 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2013-08-20 14:41:27 -0400 |
commit | f90f3cde5f165daa99b9756eba4b98bc26aa1362 (patch) | |
tree | 0dae4a3cbce3cc150553f48303de8980c225d6ed /tests | |
parent | bd2ece0c4814ca610fd212f5c11409d79bee6301 (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.c | 28 |
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); |