[prev in list] [next in list] [prev in thread] [next in thread]
List: gstreamer-cvs
Subject: [1.0] gstreamer: tests: one more test for gst_queue_array_drop_element()
From: tpm () kemper ! freedesktop ! org (Tim Müller)
Date: 2013-01-30 11:17:36
Message-ID: 20130130111736.EE0D476A54 () kemper ! freedesktop ! org
[Download RAW message or body]
Module: gstreamer
Branch: 1.0
Commit: eb37f4e5905f2c29bfeb1e8345d2af54438548f0
URL: http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=eb37f4e5905f2c29bfeb1e8345d2af54438548f0
Author: Tim-Philipp Müller <tim@centricular.net>
Date: Tue Jan 29 22:54:21 2013 +0000
tests: one more test for gst_queue_array_drop_element()
https://bugzilla.gnome.org/show_bug.cgi?id=692691
---
tests/check/libs/queuearray.c | 43 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/tests/check/libs/queuearray.c b/tests/check/libs/queuearray.c
index 586fa8a..b8fac2b 100644
--- a/tests/check/libs/queuearray.c
+++ b/tests/check/libs/queuearray.c
@@ -370,6 +370,48 @@ GST_START_TEST (test_array_drop)
GST_END_TEST;
+GST_START_TEST (test_array_drop2)
+{
+#define NUM_QA_ELEMENTS 674
+ gboolean in_array[NUM_QA_ELEMENTS] = { FALSE, };
+ GstQueueArray *array;
+ guint i, j, count, idx;
+
+ array = gst_queue_array_new (10);
+
+ for (i = 0; i < NUM_QA_ELEMENTS; i++) {
+ gpointer element = GUINT_TO_POINTER (i);
+
+ if (g_random_boolean ()) {
+ gst_queue_array_push_tail (array, element);
+ in_array[i] = TRUE;
+ }
+ }
+
+ for (j = 0, count = 0; j < NUM_QA_ELEMENTS; j++)
+ count += in_array[j] ? 1 : 0;
+ fail_unless_equals_int (array->length, count);
+
+ while (array->length > 0) {
+ for (i = 0; i < NUM_QA_ELEMENTS; i++) {
+ if (g_random_boolean () && g_random_boolean () && in_array[i]) {
+ idx = gst_queue_array_find (array, compare_pointer_value,
+ GUINT_TO_POINTER (i));
+ gst_queue_array_drop_element (array, idx);
+ in_array[i] = FALSE;
+ }
+ }
+
+ for (j = 0, count = 0; j < NUM_QA_ELEMENTS; j++)
+ count += in_array[j] ? 1 : 0;
+ fail_unless_equals_int (array->length, count);
+ }
+
+ gst_queue_array_free (array);
+}
+
+GST_END_TEST;
+
static Suite *
gst_queue_array_suite (void)
{
@@ -385,6 +427,7 @@ gst_queue_array_suite (void)
tcase_add_test (tc_chain, test_array_grow_end);
tcase_add_test (tc_chain, test_array_find);
tcase_add_test (tc_chain, test_array_drop);
+ tcase_add_test (tc_chain, test_array_drop2);
return s;
}
_______________________________________________
gstreamer-commits mailing list
gstreamer-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic