1 #include <gtest/gtest.h>
4 #include <tbm_surface.h>
5 #include <tbm_surface_internal.h>
6 #include <tbm_surface_queue.h>
9 int memory_for_invalid_param;
10 tbm_surface_queue_h invalid_queue = (tbm_surface_queue_h)&memory_for_invalid_param;
11 int memory_for_invalid_queue;
12 tbm_surface_h invalid_surface = (tbm_surface_h)&memory_for_invalid_param;
15 static void tbm_surface_queue_event_handler(tbm_surface_queue_h surface_queue, void *data)
21 static tbm_surface_queue_trace trace_cb_data;
22 static void tbm_surface_queue_trace_event_handler(tbm_surface_queue_h surface_queue,
23 tbm_surface_h surface, tbm_surface_queue_trace trace, void *data)
25 if (data == &trace_cb_data)
26 trace_cb_data = trace;
29 static tbm_surface_h tbm_surface_alloc_cb_handler(tbm_surface_queue_h surface_queue, void *data)
31 return (tbm_surface_h)data;
34 void tbm_surface_free_cb_handler(tbm_surface_queue_h surface_queue, void *data, tbm_surface_h surface)
37 tbm_surface_destroy(surface);
40 /* tbm_surface_queue_h tbm_surface_queue_create(int QUEUE_SIZE, int width,
41 int height, int format, int flags); */
42 TEST(UtSurfaceQueueCreate, CreateFailInvalidInput)
44 tbm_surface_queue_h queue = NULL;
46 ut_set_default_tbm_env();
48 queue = tbm_surface_queue_create(-1, 720, 1024, TBM_FORMAT_ARGB8888, TBM_BO_DEFAULT);
49 ASSERT_EQ(nullptr, queue); // Expected Value: NULL
51 queue = tbm_surface_queue_create(QUEUE_SIZE, -1, 1024, TBM_FORMAT_ARGB8888, TBM_BO_DEFAULT);
52 ASSERT_EQ(nullptr, queue);
54 queue = tbm_surface_queue_create(QUEUE_SIZE, 720, -1, TBM_FORMAT_ARGB8888, TBM_BO_DEFAULT);
55 ASSERT_EQ(nullptr, queue);
57 queue = tbm_surface_queue_create(QUEUE_SIZE, 720, 1024, 0, TBM_BO_DEFAULT);
58 ASSERT_EQ(nullptr, queue);
61 TEST(UtSurfaceQueueCreate, CreateSuccess)
63 tbm_surface_queue_h queue = NULL;
65 tbm_format *formats = NULL;
67 ut_set_default_tbm_env();
69 ASSERT_TRUE(tbm_surface_internal_query_supported_formats(&formats, &num));
71 queue = tbm_surface_queue_create(QUEUE_SIZE, 720, 1024, formats[0], TBM_BO_DEFAULT);
72 ASSERT_NE(nullptr, queue);
74 tbm_surface_queue_destroy(queue);
80 /* tbm_surface_queue_h tbm_surface_queue_sequence_create(int QUEUE_SIZE, int width,
81 int height, int format, int flags); */
82 TEST(UtSurfaceQueueCreate, SequenceCreateFailInvalidInput)
84 tbm_surface_queue_h queue = NULL;
86 ut_set_default_tbm_env();
88 queue = tbm_surface_queue_sequence_create(-1, 720, 1024, TBM_FORMAT_ARGB8888, TBM_BO_DEFAULT);
89 ASSERT_EQ(nullptr, queue); // Expected Value: NULL
91 queue = tbm_surface_queue_sequence_create(QUEUE_SIZE, -1, 1024, TBM_FORMAT_ARGB8888, TBM_BO_DEFAULT);
92 ASSERT_EQ(nullptr, queue);
94 queue = tbm_surface_queue_sequence_create(QUEUE_SIZE, 720, -1, TBM_FORMAT_ARGB8888, TBM_BO_DEFAULT);
95 ASSERT_EQ(nullptr, queue);
97 queue = tbm_surface_queue_sequence_create(QUEUE_SIZE, 720, 1024, 0, TBM_BO_DEFAULT);
98 ASSERT_EQ(nullptr, queue);
101 TEST(UtSurfaceQueueCreate, SequenceCreateSuccess)
103 tbm_surface_queue_h queue = NULL;
105 tbm_format *formats = NULL;
107 ut_set_default_tbm_env();
109 ASSERT_TRUE(tbm_surface_internal_query_supported_formats(&formats, &num));
111 queue = tbm_surface_queue_sequence_create(QUEUE_SIZE, 720, 1024, formats[0], TBM_BO_DEFAULT);
112 ASSERT_NE(nullptr, queue);
118 /* void tbm_surface_queue_destroy(tbm_surface_queue_h surface_queue); */
119 TEST_F(SurfaceQueueTest, DestroyNULL)
121 tbm_surface_queue_destroy(NULL);
124 TEST_F(SurfaceQueueTest, DestroyTwice)
126 tbm_surface_queue_destroy(queue);
128 tbm_surface_queue_destroy(queue);
130 /* to prevent destroy in TearDown */
134 /* tbm_surface_queue_error_e tbm_surface_queue_dequeue(
135 tbm_surface_queue_h surface_queue, tbm_surface_h *surface); */
136 TEST_F(SurfaceQueueTest, DequeueFailNull)
140 result = tbm_surface_queue_dequeue(NULL, &surface);
141 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
143 result = tbm_surface_queue_dequeue(queue, NULL);
144 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
147 }, ::testing::ExitedWithCode(0), "");
150 TEST_F(SurfaceQueueTest, DequeueFailInvaildInput)
152 result = tbm_surface_queue_dequeue(invalid_queue, &surface);
153 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
156 TEST_F(SurfaceQueueTest, DequeueSuccess)
158 /* do dequeue three times */
159 for (int i = 0; i < QUEUE_SIZE; i++) {
160 result = tbm_surface_queue_dequeue(queue, &surface);
161 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
162 ASSERT_NE((tbm_surface_h)NULL, surface);
165 result = tbm_surface_queue_dequeue(queue, &surface);
166 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
167 ASSERT_EQ(nullptr, surface);
170 /* tbm_surface_queue_error_e tbm_surface_queue_get_surfaces( tbm_surface_queue_h surface_queue,
171 tbm_surface_h *surfaces, int *num); */
172 TEST_F(SurfaceQueueTest, GetSurfacesFailNull)
174 tbm_surface_h surfaces[QUEUE_SIZE];
177 result = tbm_surface_queue_get_surfaces(NULL, surfaces, &num);
178 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
180 result = tbm_surface_queue_get_surfaces(queue, surfaces, NULL);
181 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
184 TEST_F(SurfaceQueueTest, GetSurfacesFailInvaildInput)
186 tbm_surface_h surfaces[QUEUE_SIZE];
189 result = tbm_surface_queue_get_surfaces(invalid_queue, surfaces, &num);
190 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
193 TEST_F(SurfaceQueueTest, GetSurfacesSuccess)
195 tbm_surface_h surfaces[QUEUE_SIZE];
198 /* test: empty queue*/
199 result = tbm_surface_queue_get_surfaces(queue, surfaces, &num);
200 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
203 /* do dequeue three times */
204 for (int i = 0; i < QUEUE_SIZE; i++) {
205 result = tbm_surface_queue_dequeue(queue, &surface);
206 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
207 ASSERT_NE(nullptr, surface);
211 result = tbm_surface_queue_get_surfaces(queue, surfaces, &num);
212 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
213 ASSERT_EQ(QUEUE_SIZE, num);
214 for (int i = 0; i < QUEUE_SIZE; i++)
215 ASSERT_NE(nullptr, surfaces[i]);
217 /* test: get only number of surfaces */
218 result = tbm_surface_queue_get_surfaces(queue, NULL, &num);
219 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
220 ASSERT_EQ(QUEUE_SIZE, num);
223 /* tbm_surface_queue_error_e tbm_surface_queue_cancel_dequeue(
224 tbm_surface_queue_h surface_queue, tbm_surface_h surface); */
225 TEST_F(SurfaceQueueTest, CancelDequeueFailNull)
227 result = tbm_surface_queue_dequeue(queue, &surface);
228 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
230 result = tbm_surface_queue_cancel_dequeue(NULL, surface);
231 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
233 result = tbm_surface_queue_cancel_dequeue(queue, NULL);
234 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
237 TEST_F(SurfaceQueueTest, CancelDequeueFailInvaildInput)
239 result = tbm_surface_queue_dequeue(queue, &surface);
240 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
243 result = tbm_surface_queue_cancel_dequeue(invalid_queue, surface);
244 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
246 result = tbm_surface_queue_cancel_dequeue(queue, invalid_surface);
247 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
249 result = tbm_surface_queue_cancel_dequeue(queue, alien_surface);
250 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
253 TEST_F(SurfaceQueueTest, CancelDequeueSuccess)
255 tbm_surface_h last_surface = NULL;
257 for (int i = 0; i < QUEUE_SIZE; i++) {
258 result = tbm_surface_queue_dequeue(queue, &surface);
259 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
260 ASSERT_NE(nullptr, surface);
263 last_surface = surface;
264 result = tbm_surface_queue_dequeue(queue, &surface);
265 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
266 ASSERT_EQ(nullptr, surface);
269 result = tbm_surface_queue_cancel_dequeue(queue, last_surface);
270 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
273 result = tbm_surface_queue_dequeue(queue, &surface);
274 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
275 ASSERT_EQ(last_surface, surface);
278 /* tbm_surface_queue_error_e tbm_surface_queue_enqueue(
279 tbm_surface_queue_h surface_queue, tbm_surface_h surface); */
280 TEST_F(SurfaceQueueTest, EnqueueFailNull)
282 result = tbm_surface_queue_dequeue(queue, &surface);
283 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
286 result = tbm_surface_queue_enqueue(NULL, surface);
287 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
289 result = tbm_surface_queue_enqueue(this->queue, NULL);
290 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
293 TEST_F(SurfaceQueueTest, EnqueueFailInvaildInput)
295 result = tbm_surface_queue_dequeue(queue, &surface);
296 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
299 result = tbm_surface_queue_enqueue(invalid_queue, surface);
300 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
302 result = tbm_surface_queue_enqueue(queue, invalid_surface);
303 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
305 result = tbm_surface_queue_enqueue(queue, alien_surface);
306 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
309 TEST_F(SurfaceQueueTest, EnqueueSuccess)
311 tbm_surface_h surfaces[QUEUE_SIZE] = { NULL };
314 for (int i = 0; i < QUEUE_SIZE; i++) {
315 result = tbm_surface_queue_dequeue(queue, &surfaces[i]);
316 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
320 for (int i = 0; i < QUEUE_SIZE; i++) {
321 result = tbm_surface_queue_enqueue(queue, surfaces[i]);
322 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
326 TEST_F(SurfaceQueueTest, EnqueueFailTwice)
328 result = tbm_surface_queue_dequeue(queue, &surface);
329 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
332 result = tbm_surface_queue_enqueue(queue, surface);
333 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
335 result = tbm_surface_queue_enqueue(queue, surface);
336 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
339 /* tbm_surface_queue_error_e tbm_surface_queue_acquire(
340 tbm_surface_queue_h surface_queue, tbm_surface_h *surface); */
341 TEST_F(SurfaceQueueTest, AcquireFailNull)
344 result = tbm_surface_queue_acquire(NULL, &surface);
345 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
347 result = tbm_surface_queue_acquire(queue, &surface);
348 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
351 TEST_F(SurfaceQueueTest, AcquireFailInvaildInput)
353 result = tbm_surface_queue_acquire(invalid_queue, &surface);
354 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
357 TEST_F(SurfaceQueueTest, AcquireFailAcquireEmptyQueue)
359 result = tbm_surface_queue_acquire(invalid_queue, &surface);
360 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
363 TEST_F(SurfaceQueueTest, AcquireSuccess)
365 tbm_surface_h surfaces[QUEUE_SIZE] = { NULL };
366 tbm_surface_h acquired_surface = NULL;
369 for (int i = 0; i < QUEUE_SIZE; i++) {
370 result = tbm_surface_queue_dequeue(queue, &surfaces[i]);
371 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
372 result = tbm_surface_queue_enqueue(queue, surfaces[i]);
373 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
377 for (int i = 0; i < QUEUE_SIZE; i++) {
378 result = tbm_surface_queue_acquire(queue, &acquired_surface);
379 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
380 ASSERT_EQ(surfaces[i], acquired_surface);
383 /* test: acquire empty queue*/
384 result = tbm_surface_queue_acquire(queue, &acquired_surface);
385 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
386 ASSERT_EQ(nullptr, acquired_surface);
389 /* tbm_surface_queue_error_e tbm_surface_queue_cancel_acquire(
390 tbm_surface_queue_h surface_queue, tbm_surface_h surface); */
391 TEST_F(SurfaceQueueTest, CancelAcquireFailNull)
393 result = tbm_surface_queue_dequeue(queue, &surface);
394 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
395 result = tbm_surface_queue_enqueue(queue, surface);
398 result = tbm_surface_queue_cancel_acquire(NULL, surface);
399 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
401 result = tbm_surface_queue_cancel_acquire(queue, NULL);
402 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
405 TEST_F(SurfaceQueueTest, CancelAcquireFailInvaildInput)
407 result = tbm_surface_queue_dequeue(queue, &surface);
408 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
409 result = tbm_surface_queue_enqueue(queue, surface);
410 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
413 result = tbm_surface_queue_cancel_acquire(invalid_queue, surface);
414 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
416 result = tbm_surface_queue_cancel_acquire(queue, invalid_surface);
417 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
419 result = tbm_surface_queue_cancel_acquire(queue, alien_surface);
420 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
423 TEST_F(SurfaceQueueTest, CancelAcquireSuccess)
425 tbm_surface_h last_surface = NULL;
427 for (int i = 0; i < QUEUE_SIZE; i++) {
428 result = tbm_surface_queue_dequeue(queue, &surface);
429 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
430 result = tbm_surface_queue_enqueue(queue, surface);
431 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
434 for (int i = 0; i < QUEUE_SIZE; i++) {
435 result = tbm_surface_queue_acquire(queue, &surface);
436 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
439 last_surface = surface;
440 result = tbm_surface_queue_acquire(queue, &surface);
441 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
442 ASSERT_EQ(nullptr, surface);
445 result = tbm_surface_queue_cancel_acquire(queue, last_surface);
446 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
449 result = tbm_surface_queue_acquire(queue, &surface);
450 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
451 ASSERT_EQ(last_surface, surface);
454 /* tbm_surface_queue_error_e tbm_surface_queue_release(
455 tbm_surface_queue_h surface_queue, tbm_surface_h surface); */
456 TEST_F(SurfaceQueueTest, ReleaseFailNull)
458 result = tbm_surface_queue_dequeue(queue, &surface);
459 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
460 result = tbm_surface_queue_enqueue(queue, surface);
461 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
462 result = tbm_surface_queue_acquire(queue, &surface);
463 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
466 result = tbm_surface_queue_release(NULL, surface);
467 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
469 result = tbm_surface_queue_release(this->queue, NULL);
470 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
473 TEST_F(SurfaceQueueTest, ReleaseFailInvaildInput)
475 result = tbm_surface_queue_dequeue(queue, &surface);
476 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
477 result = tbm_surface_queue_enqueue(queue, surface);
478 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
479 result = tbm_surface_queue_acquire(queue, &surface);
480 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
483 result = tbm_surface_queue_release(invalid_queue, surface);
484 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
486 result = tbm_surface_queue_release(queue, invalid_surface);
487 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
489 result = tbm_surface_queue_release(queue, alien_surface);
490 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
493 TEST_F(SurfaceQueueTest, ReleaseSuccess)
495 tbm_surface_h surfaces[QUEUE_SIZE] = { NULL };
497 for (int i = 0; i < QUEUE_SIZE; i++) {
498 result = tbm_surface_queue_dequeue(queue, &surfaces[i]);
499 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
500 result = tbm_surface_queue_enqueue(queue, surfaces[i]);
501 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
502 result = tbm_surface_queue_acquire(queue, &surfaces[i]);
503 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
507 for (int i = 0; i < QUEUE_SIZE; i++) {
508 result = tbm_surface_queue_release(queue, surfaces[i]);
509 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
513 TEST_F(SurfaceQueueTest, ReleaseSequenceSuccess)
515 tbm_surface_h surfaces[QUEUE_SIZE] = { NULL };
517 /* create a sequence queue instead of a default one*/
518 tbm_surface_queue_destroy(queue);
519 queue = tbm_surface_queue_sequence_create(QUEUE_SIZE, width, height, format, TBM_BO_DEFAULT);
520 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
522 for (int i = 0; i < QUEUE_SIZE; i++) {
523 result = tbm_surface_queue_dequeue(queue, &surfaces[i]);
524 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
525 result = tbm_surface_queue_enqueue(queue, surfaces[i]);
526 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
527 result = tbm_surface_queue_acquire(queue, &surfaces[i]);
528 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
532 for (int i = 0; i < QUEUE_SIZE; i++) {
533 result = tbm_surface_queue_release(queue, surfaces[i]);
534 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
538 TEST_F(SurfaceQueueTest, ReleaseFailTwice)
540 result = tbm_surface_queue_dequeue(queue, &surface);
541 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
542 result = tbm_surface_queue_enqueue(queue, surface);
543 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
544 result = tbm_surface_queue_acquire(queue, &surface);
545 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
548 result = tbm_surface_queue_release(queue, surface);
549 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
551 result = tbm_surface_queue_release(queue, surface);
552 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
555 /* int tbm_surface_queue_get_width(tbm_surface_queue_h surface_queue); */
556 TEST_F(SurfaceQueueTest, GetWidthFailNull)
558 int width = tbm_surface_queue_get_width(NULL);
562 TEST_F(SurfaceQueueTest, GetWidthFailInvalidInput)
564 int width = tbm_surface_queue_get_width(invalid_queue);
568 TEST_F(SurfaceQueueTest, GetWidthSuccess)
570 int width = tbm_surface_queue_get_width(queue);
571 ASSERT_EQ(this->width, width);
574 /* int tbm_surface_queue_get_height(tbm_surface_queue_h surface_queue); */
575 TEST_F(SurfaceQueueTest, GetHeightFailNull)
577 int height = tbm_surface_queue_get_height(NULL);
578 ASSERT_EQ(0, height);
581 TEST_F(SurfaceQueueTest, GetHeightFailInvalidInput)
583 int height = tbm_surface_queue_get_height(invalid_queue);
584 ASSERT_EQ(0, height);
587 TEST_F(SurfaceQueueTest, GetHeightSuccess)
589 int height = tbm_surface_queue_get_height(queue);
590 ASSERT_EQ(this->height, height);
593 /* int tbm_surface_queue_get_format(tbm_surface_queue_h surface_queue); */
594 TEST_F(SurfaceQueueTest, GetFormatFailNull)
596 int format = tbm_surface_queue_get_format(NULL);
597 ASSERT_EQ(0, format);
600 TEST_F(SurfaceQueueTest, GetFormatFailInvalidInput)
602 int format = tbm_surface_queue_get_format(invalid_queue);
603 ASSERT_EQ(0, format);
606 TEST_F(SurfaceQueueTest, GetFormatSuccess)
608 int format = tbm_surface_queue_get_format(queue);
609 ASSERT_EQ((int)this->format, format);
612 /* int tbm_surface_queue_get_size(tbm_surface_queue_h surface_queue); */
613 TEST_F(SurfaceQueueTest, GetSizeFailNull)
615 int q_size = tbm_surface_queue_get_size(NULL);
616 ASSERT_EQ(0, q_size);
619 TEST_F(SurfaceQueueTest, GetSizeFailInvalidInput)
621 int q_size = tbm_surface_queue_get_size(invalid_queue);
622 ASSERT_EQ(0, q_size);
625 TEST_F(SurfaceQueueTest, GetSizeSuccess)
627 int q_size = tbm_surface_queue_get_size(queue);
628 ASSERT_EQ(QUEUE_SIZE, q_size);
631 /* tbm_surface_queue_error_e tbm_surface_queue_reset(
632 tbm_surface_queue_h surface_queue, int width, int height, int format); */
633 TEST_F(SurfaceQueueTest, ResetFailNull)
635 result = tbm_surface_queue_reset(NULL, width, height, format);
636 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
639 TEST_F(SurfaceQueueTest, ResetFailInvalidInput)
641 result = tbm_surface_queue_reset(invalid_queue, width, height, format);
642 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
644 result = tbm_surface_queue_reset(invalid_queue, -1, height, format);
645 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
647 result = tbm_surface_queue_reset(invalid_queue, width, -1, format);
648 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
650 result = tbm_surface_queue_reset(invalid_queue, width, height, 0);
651 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
654 TEST_F(SurfaceQueueTest, ResetSuccessEmptyQueue)
656 result = tbm_surface_queue_reset(queue, width-10, height-10, format);
657 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
660 TEST_F(SurfaceQueueTest, ResetSuccessSameParams)
662 tbm_surface_h surface = NULL;
665 result = tbm_surface_queue_dequeue(queue, &surface);
666 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
669 result = tbm_surface_queue_reset(queue, width, height, format);
670 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
673 ASSERT_TRUE(tbm_surface_internal_is_valid(surface)) << "old surface mast be valid";
676 TEST_F(SurfaceQueueTest, ResetSuccess)
678 tbm_surface_h surface = NULL;
681 result = tbm_surface_queue_dequeue(queue, &surface);
682 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
685 result = tbm_surface_queue_reset(queue, width-10, height-10, formats[num_formats-1]);
686 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
689 ASSERT_FALSE(tbm_surface_internal_is_valid(surface)) << "old surface has to be deleted";
692 TEST_F(SurfaceQueueTest, ResetSequenceSuccess)
694 tbm_surface_h surface = NULL;
696 /* create a sequence queue instead of a default one*/
697 tbm_surface_queue_destroy(queue);
698 queue = tbm_surface_queue_sequence_create(QUEUE_SIZE, width, height, format, TBM_BO_DEFAULT);
699 ASSERT_TRUE(queue != NULL);
701 result = tbm_surface_queue_dequeue(queue, &surface);
702 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
705 result = tbm_surface_queue_reset(queue, width-10, height-10, formats[num_formats-1]);
706 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
709 ASSERT_FALSE(tbm_surface_internal_is_valid(surface)) << "old surface has to be deleted";
712 /* tbm_surface_queue_error_e tbm_surface_queue_set_size(
713 tbm_surface_queue_h surface_queue, int QUEUE_SIZE, int flush); */
714 TEST_F(SurfaceQueueTest, SetSizeFailNull)
716 result = tbm_surface_queue_set_size(NULL, QUEUE_SIZE, 0);
717 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
720 TEST_F(SurfaceQueueTest, SetSizeFailInvalidInput)
722 result = tbm_surface_queue_set_size(invalid_queue, QUEUE_SIZE, 0);
723 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
725 result = tbm_surface_queue_set_size(NULL, 0, 0);
726 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
729 TEST_F(SurfaceQueueTest, SetSizeSuccessTheSameSize)
731 tbm_surface_h surface = NULL;
733 result = tbm_surface_queue_dequeue(queue, &surface);
734 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
737 result = tbm_surface_queue_set_size(queue, QUEUE_SIZE, 0);
738 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
739 ASSERT_TRUE(tbm_surface_internal_is_valid(surface)) << "old surface mast be valid";
742 result = tbm_surface_queue_set_size(queue, QUEUE_SIZE, 1);
743 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
744 ASSERT_FALSE(tbm_surface_internal_is_valid(surface)) << "old surface has to be deleted";
747 TEST_F(SurfaceQueueTest, SetSizeSuccessIncrease)
749 tbm_surface_h surface = NULL;
751 result = tbm_surface_queue_dequeue(queue, &surface);
752 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
755 result = tbm_surface_queue_set_size(queue, QUEUE_SIZE+1, 0);
756 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
757 ASSERT_TRUE(tbm_surface_internal_is_valid(surface)) << "old surface mast be valid";
760 result = tbm_surface_queue_set_size(queue, QUEUE_SIZE+2, 1);
761 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
762 ASSERT_FALSE(tbm_surface_internal_is_valid(surface)) << "old surface has to be deleted";
765 TEST_F(SurfaceQueueTest, SetSizeSuccessReduce)
767 tbm_surface_h surface = NULL;
769 result = tbm_surface_queue_dequeue(queue, &surface);
770 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
773 result = tbm_surface_queue_set_size(queue, QUEUE_SIZE-1, 0);
774 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
775 ASSERT_TRUE(tbm_surface_internal_is_valid(surface)) << "old surface mast be valid";
778 result = tbm_surface_queue_set_size(queue, QUEUE_SIZE-2, 1);
779 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
780 ASSERT_FALSE(tbm_surface_internal_is_valid(surface)) << "old surface has to be deleted";
783 /* tbm_surface_queue_error_e tbm_surface_queue_flush(tbm_surface_queue_h surface_queue); */
784 TEST_F(SurfaceQueueTest, FlushFailNull)
786 result = tbm_surface_queue_flush(NULL);
787 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
790 TEST_F(SurfaceQueueTest, FlushFailInvalidInput)
792 result = tbm_surface_queue_flush(invalid_queue);
793 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
796 TEST_F(SurfaceQueueTest, FlushSuccess)
798 tbm_surface_h surfaces[QUEUE_SIZE];
800 /*test: flushing not initialized queue*/
801 result = tbm_surface_queue_flush(queue);
802 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
805 for (int i = 0; i < QUEUE_SIZE; i++) {
806 result = tbm_surface_queue_dequeue(queue, &surfaces[i]);
807 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
808 result = tbm_surface_queue_enqueue(queue, surfaces[i]);
809 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
813 result = tbm_surface_queue_flush(queue);
814 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
817 for (int i = 0; i < QUEUE_SIZE; i++)
818 ASSERT_FALSE(tbm_surface_internal_is_valid(surfaces[i])) << "old surface has to be deleted";
821 /* tbm_surface_queue_error_e tbm_surface_queue_free_flush(tbm_surface_queue_h surface_queue); */
822 TEST_F(SurfaceQueueTest, FreeFlushFailNull)
824 result = tbm_surface_queue_free_flush(NULL);
825 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
828 TEST_F(SurfaceQueueTest, FreeFlushFailInvalidInput)
830 result = tbm_surface_queue_free_flush(invalid_queue);
831 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
834 TEST_F(SurfaceQueueTest, FreeFlushSuccess)
836 tbm_surface_h surfaces[QUEUE_SIZE];
838 /*test: flushing not initialized queue*/
839 result = tbm_surface_queue_free_flush(queue);
840 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
844 for (int i = 0; i < QUEUE_SIZE; i++) {
845 result = tbm_surface_queue_dequeue(queue, &surfaces[i]);
846 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
847 result = tbm_surface_queue_cancel_dequeue(queue, surfaces[i]);
848 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
852 result = tbm_surface_queue_free_flush(queue);
853 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
856 for (int i = 0; i < QUEUE_SIZE; i++)
857 ASSERT_FALSE(tbm_surface_internal_is_valid(surfaces[i])) << "old surface has to be deleted";
860 /* tbm_surface_queue_error_e tbm_surface_queue_add_reset_cb(
861 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb reset_cb, void *data); */
862 TEST_F(SurfaceQueueTest, AddResetCbFailNull)
864 result = tbm_surface_queue_add_reset_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
865 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
867 result = tbm_surface_queue_add_reset_cb(queue, NULL, &cb_data);
868 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
871 TEST_F(SurfaceQueueTest, AddResetCbFailInvalidInput)
873 result = tbm_surface_queue_add_reset_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
874 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
877 TEST_F(SurfaceQueueTest, AddResetCbSuccess)
879 result = tbm_surface_queue_dequeue(queue, &surface);
880 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
881 result = tbm_surface_queue_enqueue(queue, surface);
882 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
885 result = tbm_surface_queue_add_reset_cb(queue, tbm_surface_queue_event_handler, &cb_data);
886 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
888 /*extra check: reset cb has to called after tbm_surface_queue_flush()*/
890 result = tbm_surface_queue_flush(queue);
891 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
892 ASSERT_TRUE(cb_data == 1);
895 /* tbm_surface_queue_error_e tbm_surface_queue_remove_reset_cb(
896 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb reset_cb, void *data); */
897 TEST_F(SurfaceQueueTest, RemoveResetCbFailNull)
899 result = tbm_surface_queue_remove_reset_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
900 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
903 TEST_F(SurfaceQueueTest, RemoveResetCbSuccess)
905 result = tbm_surface_queue_dequeue(queue, &surface);
906 result = tbm_surface_queue_enqueue(queue, surface);
907 result = tbm_surface_queue_add_reset_cb(queue, tbm_surface_queue_event_handler, &cb_data);
910 result = tbm_surface_queue_remove_reset_cb(queue, tbm_surface_queue_event_handler, &cb_data);
911 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
913 /*extra check: reset cb musn't called after tbm_surface_queue_flush()*/
915 result = tbm_surface_queue_flush(queue);
916 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
917 ASSERT_TRUE(cb_data == 0);
920 TEST_F(SurfaceQueueTest, RemoveResetCbFailInvalidInput)
922 result = tbm_surface_queue_dequeue(queue, &surface);
923 result = tbm_surface_queue_enqueue(queue, surface);
924 result = tbm_surface_queue_add_reset_cb(queue, tbm_surface_queue_event_handler, &cb_data);
926 /* test: invalid queue*/
927 result = tbm_surface_queue_remove_reset_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
928 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
930 /* test: invalid data */
931 result = tbm_surface_queue_remove_reset_cb(queue, tbm_surface_queue_event_handler, NULL);
932 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
934 /* test: invalid cb function */
935 result = tbm_surface_queue_remove_reset_cb(queue, (tbm_surface_queue_notify_cb)1, &cb_data);
936 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
938 /*extra check: reset cb still has to be called after tbm_surface_queue_flush()*/
940 result = tbm_surface_queue_flush(queue);
941 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
942 ASSERT_TRUE(cb_data == 1);
945 /* tbm_surface_queue_error_e tbm_surface_queue_notify_reset(tbm_surface_queue_h surface_queue); */
946 TEST_F(SurfaceQueueTest, NotifyResetFailNull)
948 result = tbm_surface_queue_notify_reset(NULL);
949 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
952 TEST_F(SurfaceQueueTest, NotifyResetFailInvalidInput)
954 result = tbm_surface_queue_notify_reset(invalid_queue);
955 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
958 TEST_F(SurfaceQueueTest, NotifyResetCbSuccess)
960 result = tbm_surface_queue_add_reset_cb(queue, tbm_surface_queue_event_handler, &cb_data);
961 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
965 result = tbm_surface_queue_notify_reset(queue);
966 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
967 ASSERT_TRUE(cb_data == 1);
970 /* int tbm_surface_queue_can_dequeue(tbm_surface_queue_h surface_queue, int wait); */
971 TEST_F(SurfaceQueueTest, CanDequeueFailNull)
973 ASSERT_FALSE(tbm_surface_queue_can_dequeue(NULL, 0));
976 TEST_F(SurfaceQueueTest, CanDequeueFailInvalidInput)
978 ASSERT_FALSE(tbm_surface_queue_can_dequeue(invalid_queue, 0));
981 TEST_F(SurfaceQueueTest, CanDequeueSuccess)
985 /* test: dequeue all*/
986 while (tbm_surface_queue_can_dequeue(queue, 0)) {
987 result = tbm_surface_queue_dequeue(queue, &surface);
988 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
991 ASSERT_EQ(QUEUE_SIZE, dq_count);
994 TEST_F(SurfaceQueueTest, CanDequeueFailEmptyQueue)
997 while (tbm_surface_queue_can_dequeue(queue, 0)) {
998 result = tbm_surface_queue_dequeue(queue, &surface);
999 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1003 ASSERT_FALSE(tbm_surface_queue_can_dequeue(queue, 0));
1007 /* int tbm_surface_queue_can_acquire(tbm_surface_queue_h surface_queue, int wait); */
1008 TEST_F(SurfaceQueueTest, CanAcquireFailNull)
1010 ASSERT_FALSE(tbm_surface_queue_can_acquire(NULL, 0));
1013 TEST_F(SurfaceQueueTest, CanAcquireFailInvalidInput)
1015 ASSERT_FALSE(tbm_surface_queue_can_acquire(invalid_queue, 0));
1018 TEST_F(SurfaceQueueTest, CanAcquireFailEmptyQueue)
1020 ASSERT_FALSE(tbm_surface_queue_can_acquire(queue, 0));
1023 TEST_F(SurfaceQueueTest, CanAcquireSuccess)
1027 while (tbm_surface_queue_can_dequeue(queue, 0)) {
1028 result = tbm_surface_queue_dequeue(queue, &surface);
1029 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1030 result = tbm_surface_queue_enqueue(queue, surface);
1034 while (tbm_surface_queue_can_acquire(queue, 0)) {
1035 result = tbm_surface_queue_acquire(queue, &surface);
1036 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1040 ASSERT_EQ(QUEUE_SIZE, acq_count);
1043 /* tbm_surface_queue_error_e tbm_surface_queue_add_destroy_cb(
1044 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb destroy_cb, void *data); */
1045 TEST_F(SurfaceQueueTest, AddDestroyCbFailNull)
1047 result = tbm_surface_queue_add_destroy_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1048 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1050 result = tbm_surface_queue_add_destroy_cb(queue, NULL, &cb_data);
1051 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1054 TEST_F(SurfaceQueueTest, AddDestroyCbFailInvalidInput)
1056 result = tbm_surface_queue_add_destroy_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1057 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1060 TEST_F(SurfaceQueueTest, AddDestroyCbSuccess)
1063 result = tbm_surface_queue_add_destroy_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1064 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1067 tbm_surface_queue_destroy(queue);
1068 ASSERT_TRUE(cb_data == 1);
1070 /* to avoid destroying queue in TearDown*/
1074 /* tbm_surface_queue_error_e tbm_surface_queue_remove_destroy_cb(
1075 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb destroy_cb, void *data); */
1076 TEST_F(SurfaceQueueTest, RemoveDestroyCbFailNull)
1078 result = tbm_surface_queue_remove_destroy_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1079 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1082 TEST_F(SurfaceQueueTest, RemoveDestroyCbFailInvalidInput)
1084 result = tbm_surface_queue_remove_destroy_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1085 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1088 TEST_F(SurfaceQueueTest, RemoveDestroyCbSuccess)
1090 result = tbm_surface_queue_add_destroy_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1091 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1092 result = tbm_surface_queue_remove_destroy_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1093 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1096 tbm_surface_queue_destroy(queue);
1097 ASSERT_TRUE(cb_data == 0);
1099 /* to avoid destroying queue in TearDown*/
1103 /* tbm_surface_queue_error_e tbm_surface_queue_add_dequeuable_cb(
1104 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb dequeuable_cb, void *data); */
1105 TEST_F(SurfaceQueueTest, AddDequeuableCbFailNull)
1107 result = tbm_surface_queue_add_dequeuable_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1108 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1110 result = tbm_surface_queue_add_dequeuable_cb(queue, NULL, &cb_data);
1111 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1114 TEST_F(SurfaceQueueTest, AddDequeuableCbFailInvalidInput)
1116 result = tbm_surface_queue_add_dequeuable_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1117 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1120 TEST_F(SurfaceQueueTest, AddDequeuableCbSuccess)
1122 result = tbm_surface_queue_dequeue(queue, &surface);
1123 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1124 result = tbm_surface_queue_enqueue(queue, surface);
1125 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1126 result = tbm_surface_queue_acquire(queue, &surface);
1127 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1130 result = tbm_surface_queue_add_dequeuable_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1131 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1134 result = tbm_surface_queue_release(queue, surface);
1135 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1136 ASSERT_TRUE(cb_data == 1);
1140 /* tbm_surface_queue_error_e tbm_surface_queue_remove_dequeuable_cb(
1141 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb dequeuable_cb, void *data); */
1142 TEST_F(SurfaceQueueTest, RemoveDequeuableCbFailNull)
1144 result = tbm_surface_queue_remove_dequeuable_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1145 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1148 TEST_F(SurfaceQueueTest, RemoveDequeuableCbFailInvalidInput)
1150 /* test: invalid queue */
1151 result = tbm_surface_queue_remove_dequeuable_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1152 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1155 TEST_F(SurfaceQueueTest, RemoveDequeuableCbSuccess)
1157 result = tbm_surface_queue_dequeue(queue, &surface);
1158 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1159 result = tbm_surface_queue_enqueue(queue, surface);
1160 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1161 result = tbm_surface_queue_acquire(queue, &surface);
1162 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1163 result = tbm_surface_queue_add_dequeuable_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1164 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1167 result = tbm_surface_queue_remove_dequeuable_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1168 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1171 result = tbm_surface_queue_release(queue, surface);
1172 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1173 ASSERT_TRUE(cb_data == 0);
1176 /* tbm_surface_queue_error_e tbm_surface_queue_add_dequeue_cb(
1177 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb dequeue_cb, void *data); */
1178 TEST_F(SurfaceQueueTest, AddDequeueCbFailNull)
1180 result = tbm_surface_queue_add_dequeue_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1181 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1183 result = tbm_surface_queue_add_dequeue_cb(queue, NULL, &cb_data);
1184 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1187 TEST_F(SurfaceQueueTest, AddDequeueCbFailInvalidInput)
1189 result = tbm_surface_queue_add_dequeue_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1190 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1193 TEST_F(SurfaceQueueTest, AddDequeueCbSuccess)
1196 result = tbm_surface_queue_add_dequeue_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1197 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1200 result = tbm_surface_queue_dequeue(queue, &surface);
1201 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1202 ASSERT_TRUE(cb_data == 1);
1205 /* tbm_surface_queue_error_e tbm_surface_queue_remove_dequeue_cb(
1206 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb dequeue_cb, void *data); */
1207 TEST_F(SurfaceQueueTest, RemoveDequeueCbFailNull)
1209 result = tbm_surface_queue_remove_dequeue_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1210 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1213 TEST_F(SurfaceQueueTest, RemoveDequeueCbFailInvalidInput)
1215 /* test: invalid queue */
1216 result = tbm_surface_queue_remove_dequeue_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1217 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1220 TEST_F(SurfaceQueueTest, RemoveDequeueCbSuccess)
1223 result = tbm_surface_queue_add_dequeue_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1224 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1227 result = tbm_surface_queue_dequeue(queue, &surface);
1228 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1229 ASSERT_TRUE(cb_data == 1);
1231 result = tbm_surface_queue_remove_dequeue_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1232 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1235 result = tbm_surface_queue_dequeue(queue, &surface);
1236 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1237 ASSERT_TRUE(cb_data == 0);
1240 /* tbm_surface_queue_error_e tbm_surface_queue_add_can_dequeue_cb(
1241 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb can_dequeue_cb, void *data); */
1242 TEST_F(SurfaceQueueTest, AddCanDequeueCbFailNull)
1244 result = tbm_surface_queue_add_can_dequeue_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1245 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1247 result = tbm_surface_queue_add_can_dequeue_cb(queue, NULL, &cb_data);
1248 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1251 TEST_F(SurfaceQueueTest, AddCanDequeueCbFailInvalidInput)
1253 result = tbm_surface_queue_add_can_dequeue_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1254 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1257 TEST_F(SurfaceQueueTest, AddCanDequeueCbSuccess)
1260 result = tbm_surface_queue_add_can_dequeue_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1261 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1264 ASSERT_TRUE(tbm_surface_queue_can_dequeue(queue, 0));
1265 ASSERT_TRUE(cb_data == 1);
1268 /* tbm_surface_queue_error_e tbm_surface_queue_remove_can_dequeue_cb(
1269 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb can_dequeue_cb, void *data); */
1270 TEST_F(SurfaceQueueTest, RemoveCanDequeueCbFailNull)
1272 result = tbm_surface_queue_remove_can_dequeue_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1273 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1276 TEST_F(SurfaceQueueTest, RemoveCanDequeueCbFailInvalidInput)
1278 /* test: invalid queue */
1279 result = tbm_surface_queue_remove_can_dequeue_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1280 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1283 TEST_F(SurfaceQueueTest, RemoveCanDequeueCbSuccess)
1285 result = tbm_surface_queue_add_can_dequeue_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1286 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1289 result = tbm_surface_queue_remove_can_dequeue_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1290 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1293 ASSERT_TRUE(tbm_surface_queue_can_dequeue(queue, 0));
1294 ASSERT_TRUE(cb_data == 0);
1297 /* tbm_surface_queue_error_e tbm_surface_queue_add_acquirable_cb(
1298 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb acquirable_cb, void *data); */
1299 TEST_F(SurfaceQueueTest, AddAcquirableCbFailNull)
1301 result = tbm_surface_queue_add_acquirable_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1302 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1304 result = tbm_surface_queue_add_acquirable_cb(queue, NULL, &cb_data);
1305 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1308 TEST_F(SurfaceQueueTest, AddAcquirableCbFailInvalidInput)
1310 result = tbm_surface_queue_add_acquirable_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1311 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1314 TEST_F(SurfaceQueueTest, AddAcquirableCbSuccess)
1316 tbm_surface_queue_dequeue(queue, &surface);
1319 result = tbm_surface_queue_add_acquirable_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1320 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1323 result = tbm_surface_queue_enqueue(queue, surface);
1324 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1325 ASSERT_TRUE(cb_data == 1);
1328 /* tbm_surface_queue_error_e tbm_surface_queue_remove_acquirable_cb(
1329 tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb acquirable_cb, void *data); */
1330 TEST_F(SurfaceQueueTest, RemoveAcquirableCbFailNull)
1332 result = tbm_surface_queue_remove_acquirable_cb(NULL, tbm_surface_queue_event_handler, &cb_data);
1333 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1336 TEST_F(SurfaceQueueTest, RemoveAcquirableCbFailInvalidInput)
1338 /* test: invalid queue */
1339 result = tbm_surface_queue_remove_acquirable_cb(invalid_queue, tbm_surface_queue_event_handler, &cb_data);
1340 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1343 TEST_F(SurfaceQueueTest, RemoveAcquirableCbSuccess)
1345 result = tbm_surface_queue_dequeue(queue, &surface);
1346 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1347 result = tbm_surface_queue_add_acquirable_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1348 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1351 result = tbm_surface_queue_remove_acquirable_cb(queue, tbm_surface_queue_event_handler, &cb_data);
1352 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1355 result = tbm_surface_queue_enqueue(queue, surface);
1356 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1357 ASSERT_TRUE(cb_data == 0);
1360 /* tbm_surface_queue_error_e tbm_surface_queue_add_trace_cb(
1361 tbm_surface_queue_h surface_queue, tbm_surface_queue_trace_cb trace_cb, void *data); */
1362 TEST_F(SurfaceQueueTest, AddTraceCbFailNull)
1364 result = tbm_surface_queue_add_trace_cb(NULL, tbm_surface_queue_trace_event_handler, &trace_cb_data);
1365 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1367 result = tbm_surface_queue_add_trace_cb(queue, NULL, &trace_cb_data);
1368 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1371 TEST_F(SurfaceQueueTest, AddTraceCbFailInvalidInput)
1373 result = tbm_surface_queue_add_trace_cb(invalid_queue, tbm_surface_queue_trace_event_handler, &trace_cb_data);
1374 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1377 TEST_F(SurfaceQueueTest, AddTraceCbSuccess)
1379 trace_cb_data = TBM_SURFACE_QUEUE_TRACE_NONE;
1382 result = tbm_surface_queue_add_trace_cb(queue, tbm_surface_queue_trace_event_handler, &trace_cb_data);
1383 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1385 result = tbm_surface_queue_dequeue(queue, &surface);
1386 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1387 ASSERT_TRUE(trace_cb_data == TBM_SURFACE_QUEUE_TRACE_DEQUEUE);
1389 result = tbm_surface_queue_cancel_dequeue(queue, surface);
1390 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1391 ASSERT_TRUE(trace_cb_data == TBM_SURFACE_QUEUE_TRACE_CANCEL_DEQUEUE);
1393 result = tbm_surface_queue_dequeue(queue, &surface);
1394 result = tbm_surface_queue_enqueue(queue, surface);
1395 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1396 ASSERT_TRUE(trace_cb_data == TBM_SURFACE_QUEUE_TRACE_ENQUEUE);
1398 result = tbm_surface_queue_acquire(queue, &surface);
1399 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1400 ASSERT_TRUE(trace_cb_data == TBM_SURFACE_QUEUE_TRACE_ACQUIRE);
1402 result = tbm_surface_queue_cancel_acquire(queue, surface);
1403 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1404 ASSERT_TRUE(trace_cb_data == TBM_SURFACE_QUEUE_TRACE_CANCEL_ACQUIRE);
1406 result = tbm_surface_queue_acquire(queue, &surface);
1407 result = tbm_surface_queue_release(queue, surface);
1408 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1409 ASSERT_TRUE(trace_cb_data == TBM_SURFACE_QUEUE_TRACE_RELEASE);
1412 /* tbm_surface_queue_error_e tbm_surface_queue_remove_trace_cb(
1413 tbm_surface_queue_h surface_queue, tbm_surface_queue_trace_cb trace_cb, void *data); */
1414 TEST_F(SurfaceQueueTest, RemoveTraceCbFailNull)
1416 result = tbm_surface_queue_remove_trace_cb(NULL, tbm_surface_queue_trace_event_handler, &trace_cb_data);
1417 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1420 TEST_F(SurfaceQueueTest, RemoveTraceCbFailInvalidInput)
1422 /* test: invalid queue */
1423 result = tbm_surface_queue_remove_trace_cb(invalid_queue, tbm_surface_queue_trace_event_handler, &trace_cb_data);
1424 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1427 TEST_F(SurfaceQueueTest, RemoveTraceCbSuccess)
1429 trace_cb_data = TBM_SURFACE_QUEUE_TRACE_NONE;
1431 result = tbm_surface_queue_add_trace_cb(queue, tbm_surface_queue_trace_event_handler, &trace_cb_data);
1432 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1435 result = tbm_surface_queue_remove_trace_cb(queue, tbm_surface_queue_trace_event_handler, &trace_cb_data);
1436 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1438 result = tbm_surface_queue_dequeue(queue, &surface);
1439 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1440 ASSERT_TRUE(trace_cb_data == TBM_SURFACE_QUEUE_TRACE_NONE);
1443 /* tbm_surface_queue_error_e tbm_surface_queue_set_alloc_cb( tbm_surface_queue_h surface_queue,
1444 tbm_surface_alloc_cb alloc_cb, tbm_surface_free_cb free_cb, void *data); */
1445 TEST_F(SurfaceQueueTest, SetAllocCbFailNull)
1447 result = tbm_surface_queue_set_alloc_cb(NULL, tbm_surface_alloc_cb_handler,
1448 tbm_surface_free_cb_handler, alien_surface);
1449 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1452 TEST_F(SurfaceQueueTest, SetAllocCbFailInvalidInput)
1454 result = tbm_surface_queue_set_alloc_cb(invalid_queue, tbm_surface_alloc_cb_handler,
1455 tbm_surface_free_cb_handler, alien_surface);
1456 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1459 TEST_F(SurfaceQueueTest, SetAllocCbSuccess)
1461 result = tbm_surface_queue_set_alloc_cb(queue, tbm_surface_alloc_cb_handler,
1462 tbm_surface_free_cb_handler, alien_surface);
1463 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1465 /* test: allocate */
1466 result = tbm_surface_queue_dequeue(queue, &surface);
1467 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1468 ASSERT_EQ(alien_surface, surface);
1470 /* test: alien_surface has to be deleted*/
1471 tbm_surface_queue_destroy(queue);
1472 ASSERT_FALSE(tbm_surface_internal_is_valid(alien_surface));
1474 alien_surface = NULL;
1477 /* tbm_surface_queue_error_e tbm_surface_queue_get_trace_surface_num(
1478 tbm_surface_queue_h surface_queue, tbm_surface_queue_trace trace, int *num); */
1479 TEST_F(SurfaceQueueTest, GetTraceSurfaceNumFailNull)
1485 result = tbm_surface_queue_get_trace_surface_num(NULL, TBM_SURFACE_QUEUE_TRACE_NONE, &num);
1486 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1488 result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_NONE, NULL);
1489 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1492 }, ::testing::ExitedWithCode(0), "");
1496 TEST_F(SurfaceQueueTest, GetTraceSurfaceNumFailInvalidInput)
1500 result = tbm_surface_queue_get_trace_surface_num(invalid_queue, TBM_SURFACE_QUEUE_TRACE_NONE, &num);
1501 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1504 TEST_F(SurfaceQueueTest, GetTraceSurfaceNumSuccess)
1508 result = tbm_surface_queue_set_size(queue, 4, 0);
1511 result = tbm_surface_queue_dequeue(queue, &surface);
1512 result = tbm_surface_queue_enqueue(queue, surface);
1513 result = tbm_surface_queue_acquire(queue, &surface);
1516 result = tbm_surface_queue_dequeue(queue, &surface);
1517 result = tbm_surface_queue_enqueue(queue, surface);
1520 result = tbm_surface_queue_dequeue(queue, &surface);
1523 result = tbm_surface_queue_dequeue(queue, &surface);
1524 result = tbm_surface_queue_cancel_dequeue(queue, surface);
1528 result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_NONE, &num);
1529 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1532 result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_DEQUEUE, &num);
1533 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1536 result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_ENQUEUE, &num);
1537 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1540 result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_ACQUIRE, &num);
1541 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1544 result = tbm_surface_queue_get_trace_surface_num(queue, TBM_SURFACE_QUEUE_TRACE_RELEASE, &num);
1545 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1548 /* tbm_surface_queue_error_e tbm_surface_queue_set_modes(
1549 tbm_surface_queue_h surface_queue, int modes); */
1550 TEST_F(SurfaceQueueTest, SetModesFailNull)
1552 result = tbm_surface_queue_set_modes(NULL, TBM_SURFACE_QUEUE_MODE_GUARANTEE_CYCLE);
1553 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1556 TEST_F(SurfaceQueueTest, SetModesFailInvalidInput)
1558 result = tbm_surface_queue_set_modes(invalid_queue, TBM_SURFACE_QUEUE_MODE_GUARANTEE_CYCLE);
1559 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1562 TEST_F(SurfaceQueueTest, SetModesSuccess)
1564 result = tbm_surface_queue_set_modes(queue, TBM_SURFACE_QUEUE_MODE_GUARANTEE_CYCLE);
1565 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1568 /* tbm_surface_queue_set_sync_count() */
1569 TEST_F(SurfaceQueueTest, SetSyncCountFailNull)
1571 result = tbm_surface_queue_set_sync_count(NULL, 1);
1572 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1575 TEST_F(SurfaceQueueTest, SetSyncCountFailInvalidInput)
1577 result = tbm_surface_queue_set_sync_count(invalid_queue, 1);
1578 ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1581 TEST_F(SurfaceQueueTest, SetSyncCountSuccess)
1583 result = tbm_surface_queue_dequeue(queue, &surface);
1584 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1586 /* test: map after enqueue */
1587 result = tbm_surface_queue_set_sync_count(queue, 0);
1588 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1590 result = tbm_surface_queue_enqueue(queue, surface);
1591 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1593 /* test: map after acquire */
1594 result = tbm_surface_queue_set_sync_count(queue, 0);
1595 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);
1597 result = tbm_surface_queue_acquire(queue, &surface);
1598 ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result);