1 /**************************************************************************
3 * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
5 * Contact: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
7 * Permission is hereby granted, free of charge, to any person obtaining a
8 * copy of this software and associated documentation files (the
9 * "Software"), to deal in the Software without restriction, including
10 * without limitation the rights to use, copy, modify, merge, publish,
11 * distribute, sub license, and/or sell copies of the Software, and to
12 * permit persons to whom the Software is furnished to do so, subject to
13 * the following conditions:
15 * The above copyright notice and this permission notice (including the
16 * next paragraph) shall be included in all copies or substantial portions
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
22 * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
23 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 **************************************************************************/
29 #include "gtest/gtest.h"
31 #include "tbm_bufmgr_int.h"
33 #include "pthread_stubs.h"
34 #include "stdlib_stubs.h"
35 #include "tbm_bufmgr_stubs.h"
37 /* HELPER FUNCTIONS */
39 #include "tbm_bufmgr.h"
41 static int UT_TBM_SURFACE_INTERNAL_ERROR = 0;
42 static int ut_tbm_bo_unmap_count = 0;
44 static void ut_tbm_bufmgr_deinit(tbm_bufmgr bufmgr)
49 static int ut_surface_supported_format(uint32_t **formats,
55 if (UT_TBM_SURFACE_INTERNAL_ERROR) {
62 static tbm_bo_handle ut_tbm_bo_get_handle(tbm_bo bo, int device)
67 tbm_bo_handle ut_ret_handle;
68 ut_ret_handle.s64 = 12;
73 static int ut_tbm_bo_unmap(tbm_bo bo)
77 ut_tbm_bo_unmap_count++;
82 static int ut_surface_get_plane_data(int width, int height,
83 tbm_format format, int plane_idx,
84 uint32_t * size, uint32_t * offset,
85 uint32_t * pitch, int *bo_idx)
107 void *ut_surface_bo_alloc(tbm_bo bo, int width, int height, int format,
108 int flags, int bo_idx)
110 return (void *)0xefefeffe;
113 #define pthread_mutex_lock ut_pthread_mutex_lock
114 #define pthread_mutex_unlock ut_pthread_mutex_unlock
115 #define pthread_mutex_init ut_pthread_mutex_init
116 #define calloc ut_calloc
118 #define tbm_bufmgr_init ut_tbm_bufmgr_init
119 #define tbm_bufmgr_deinit ut_tbm_bufmgr_deinit
120 #define tbm_bo_get_handle ut_tbm_bo_get_handle
121 #define tbm_bo_unmap ut_tbm_bo_unmap
122 #define tbm_bufmgr_init ut_tbm_bufmgr_init
124 #include "tbm_surface_internal.c"
126 static void _init_test()
128 g_surface_bufmgr = NULL;
129 PTHREAD_MUTEX_INIT_ERROR = 0;
133 FREE_TESTED_PTR = NULL;
134 free_called_for_tested_ptr = 0;
137 UT_TBM_SURFACE_INTERNAL_ERROR = 0;
138 ut_tbm_bo_unmap_count = 0;
139 ut_tbm_data_free_called = 0;
140 ut_tbm_bufmgr_init_error = 0;
143 /* tbm_surface_internal_delete_user_data() */
145 TEST(tbm_surface_internal_delete_user_data, work_flow_success_4)
148 int expected_ret = 1;
149 struct _tbm_surface surface;
150 struct _tbm_bufmgr bufmgr;
151 unsigned long key = 1;
156 g_surface_bufmgr = &bufmgr;
157 LIST_INITHEAD(&bufmgr.surf_list);
158 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
159 LIST_INITHEAD(&surface.user_data_list);
161 tbm_user_data *old_data = (tbm_user_data *) calloc(1, sizeof(*old_data));
162 old_data->data = &data;
163 old_data->free_func = ut_tbm_data_free;
165 LIST_ADD(&old_data->item_link, &surface.user_data_list);
166 FREE_TESTED_PTR = old_data;
168 ret = tbm_surface_internal_delete_user_data(&surface, key);
170 ASSERT_EQ(ret, expected_ret);
171 ASSERT_EQ(free_called_for_tested_ptr, 1);
172 ASSERT_EQ(ut_tbm_data_free_called, 1);
175 TEST(tbm_surface_internal_delete_user_data, work_flow_success_3)
178 int expected_ret = 0;
179 struct _tbm_surface surface;
180 struct _tbm_bufmgr bufmgr;
181 unsigned long key = 1;
182 tbm_user_data old_data;
186 g_surface_bufmgr = &bufmgr;
187 LIST_INITHEAD(&bufmgr.surf_list);
188 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
189 LIST_INITHEAD(&surface.user_data_list);
191 old_data.key = key + 1;
192 LIST_ADD(&old_data.item_link, &surface.user_data_list);
194 ret = tbm_surface_internal_delete_user_data(&surface, key);
196 ASSERT_EQ(ret, expected_ret);
199 TEST(tbm_surface_internal_delete_user_data, work_flow_success_2)
202 int expected_ret = 0;
203 struct _tbm_surface surface;
204 struct _tbm_bufmgr bufmgr;
208 g_surface_bufmgr = &bufmgr;
209 LIST_INITHEAD(&bufmgr.surf_list);
210 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
211 LIST_INITHEAD(&surface.user_data_list);
213 ret = tbm_surface_internal_delete_user_data(&surface, 1);
215 ASSERT_EQ(ret, expected_ret);
218 TEST(tbm_surface_internal_delete_user_data, work_flow_success_1)
221 int expected_ret = 0;
222 struct _tbm_surface surface;
223 struct _tbm_bufmgr bufmgr;
227 g_surface_bufmgr = &bufmgr;
228 LIST_INITHEAD(&bufmgr.surf_list);
230 ret = tbm_surface_internal_delete_user_data(&surface, 1);
232 ASSERT_EQ(ret, expected_ret);
235 TEST(tbm_surface_internal_delete_user_data, null_ptr_fail_1)
238 int expected_ret = 0;
242 ret = tbm_surface_internal_delete_user_data(NULL, 1);
244 ASSERT_EQ(ret, expected_ret);
247 /* tbm_surface_internal_get_user_data() */
249 TEST(tbm_surface_internal_get_user_data, work_flow_success_4)
252 int expected_ret = 1;
253 unsigned long key = 1;
255 struct _tbm_surface surface;
256 struct _tbm_bufmgr bufmgr;
257 int expected_data = 6;
261 g_surface_bufmgr = &bufmgr;
262 LIST_INITHEAD(&bufmgr.surf_list);
263 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
264 LIST_INITHEAD(&surface.user_data_list);
266 tbm_user_data old_data;
267 old_data.data = &expected_data;
269 LIST_ADD(&old_data.item_link, &surface.user_data_list);
271 ret = tbm_surface_internal_get_user_data(&surface, key, &data);
273 ASSERT_EQ(ret, expected_ret);
274 ASSERT_TRUE(data == &expected_data);
277 TEST(tbm_surface_internal_get_user_data, work_flow_success_3)
280 int expected_ret = 0;
281 unsigned long key = 1;
283 struct _tbm_surface surface;
284 struct _tbm_bufmgr bufmgr;
285 tbm_user_data old_data;
289 g_surface_bufmgr = &bufmgr;
290 LIST_INITHEAD(&bufmgr.surf_list);
291 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
292 LIST_INITHEAD(&surface.user_data_list);
294 old_data.key = key + 1;
295 LIST_ADD(&old_data.item_link, &surface.user_data_list);
297 ret = tbm_surface_internal_get_user_data(&surface, key, &data);
299 ASSERT_EQ(ret, expected_ret);
302 TEST(tbm_surface_internal_get_user_data, work_flow_success_2)
305 int expected_ret = 0;
306 unsigned long key = 1;
308 struct _tbm_surface surface;
309 struct _tbm_bufmgr bufmgr;
313 g_surface_bufmgr = &bufmgr;
314 LIST_INITHEAD(&bufmgr.surf_list);
315 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
316 LIST_INITHEAD(&surface.user_data_list);
318 ret = tbm_surface_internal_get_user_data(&surface, key, &data);
320 ASSERT_EQ(ret, expected_ret);
323 TEST(tbm_surface_internal_get_user_data, work_flow_success_1)
326 int expected_ret = 0;
327 unsigned long key = 1;
329 struct _tbm_surface surface;
330 struct _tbm_bufmgr bufmgr;
334 g_surface_bufmgr = &bufmgr;
335 LIST_INITHEAD(&bufmgr.surf_list);
336 LIST_INITHEAD(&surface.user_data_list);
338 ret = tbm_surface_internal_get_user_data(&surface, key, &data);
340 ASSERT_EQ(ret, expected_ret);
343 TEST(tbm_surface_internal_get_user_data, null_ptr_fail_2)
346 int expected_ret = 0;
347 unsigned long key = 1;
348 struct _tbm_surface surface;
349 struct _tbm_bufmgr bufmgr;
353 g_surface_bufmgr = &bufmgr;
354 LIST_INITHEAD(&bufmgr.surf_list);
355 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
356 LIST_INITHEAD(&surface.user_data_list);
358 ret = tbm_surface_internal_get_user_data(&surface, key, NULL);
360 ASSERT_EQ(ret, expected_ret);
363 TEST(tbm_surface_internal_get_user_data, null_ptr_fail_1)
366 int expected_ret = 0;
367 unsigned long key = 1;
372 ret = tbm_surface_internal_get_user_data(NULL, key, &data);
374 ASSERT_EQ(ret, expected_ret);
377 /* tbm_surface_internal_set_user_data() */
379 TEST(tbm_surface_internal_set_user_data, work_flow_success_4)
382 int expected_ret = 1;
383 unsigned long key = 1;
385 struct _tbm_surface surface;
386 struct _tbm_bufmgr bufmgr;
387 tbm_user_data old_data;
391 g_surface_bufmgr = &bufmgr;
392 LIST_INITHEAD(&bufmgr.surf_list);
393 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
395 old_data.data = &data;
396 old_data.free_func = ut_tbm_data_free;
398 LIST_INITHEAD(&surface.user_data_list);
399 LIST_ADD(&old_data.item_link, &surface.user_data_list);
401 ret = tbm_surface_internal_set_user_data(&surface, key, &data);
403 ASSERT_EQ(ret, expected_ret);
404 ASSERT_TRUE(old_data.data == &data);
405 ASSERT_EQ(ut_tbm_data_free_called, 1);
408 TEST(tbm_surface_internal_set_user_data, work_flow_success_3)
411 int expected_ret = 1;
412 unsigned long key = 1;
414 struct _tbm_surface surface;
415 struct _tbm_bufmgr bufmgr;
416 tbm_user_data old_data;
420 g_surface_bufmgr = &bufmgr;
421 LIST_INITHEAD(&bufmgr.surf_list);
422 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
424 old_data.data = NULL;
425 old_data.free_func = NULL;
427 LIST_INITHEAD(&surface.user_data_list);
428 LIST_ADD(&old_data.item_link, &surface.user_data_list);
430 ret = tbm_surface_internal_set_user_data(&surface, key, &data);
432 ASSERT_EQ(ret, expected_ret);
433 ASSERT_TRUE(old_data.data == &data);
436 TEST(tbm_surface_internal_set_user_data, work_flow_success_2)
439 int expected_ret = 0;
440 unsigned long key = 1;
442 struct _tbm_surface surface;
443 struct _tbm_bufmgr bufmgr;
444 tbm_user_data old_data;
448 g_surface_bufmgr = &bufmgr;
449 LIST_INITHEAD(&bufmgr.surf_list);
450 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
452 old_data.key = key + 1;
453 LIST_INITHEAD(&surface.user_data_list);
454 LIST_ADD(&old_data.item_link, &surface.user_data_list);
456 ret = tbm_surface_internal_set_user_data(&surface, key, &data);
458 ASSERT_EQ(ret, expected_ret);
461 TEST(tbm_surface_internal_set_user_data, work_flow_success_1)
464 int expected_ret = 0;
465 unsigned long key = 1;
467 struct _tbm_surface surface;
468 struct _tbm_bufmgr bufmgr;
472 g_surface_bufmgr = &bufmgr;
473 LIST_INITHEAD(&bufmgr.surf_list);
475 ret = tbm_surface_internal_set_user_data(&surface, key, &data);
477 ASSERT_EQ(ret, expected_ret);
480 TEST(tbm_surface_internal_set_user_data, null_ptr_fail_1)
483 int expected_ret = 0;
484 unsigned long key = 1;
489 ret = tbm_surface_internal_set_user_data(NULL, key, &data);
491 ASSERT_EQ(ret, expected_ret);
494 /* tbm_surface_internal_add_user_data() */
496 TEST(tbm_surface_internal_add_user_data, work_flow_success_4)
499 int expected_ret = 1;
500 unsigned long key = 1;
501 struct _tbm_surface surface;
502 struct _tbm_bufmgr bufmgr;
504 tbm_user_data *added_data;
508 g_surface_bufmgr = &bufmgr;
509 LIST_INITHEAD(&bufmgr.surf_list);
510 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
513 LIST_INITHEAD(&surface.user_data_list);
514 LIST_ADD(&data.item_link, &surface.user_data_list);
516 ret = tbm_surface_internal_add_user_data(&surface, key, ut_tbm_data_free);
518 ASSERT_EQ(ret, expected_ret);
520 added_data = user_data_lookup(&surface.user_data_list, key);
522 ASSERT_TRUE(added_data != NULL);
524 tbm_user_data copy_data = *added_data;
527 ASSERT_EQ(copy_data.key, key);
528 ASSERT_TRUE(copy_data.free_func == ut_tbm_data_free);
529 ASSERT_TRUE(copy_data.data == NULL);
532 TEST(tbm_surface_internal_add_user_data, work_flow_success_3)
535 int expected_ret = 0;
536 unsigned long key = 1;
537 struct _tbm_surface surface;
538 struct _tbm_bufmgr bufmgr;
543 g_surface_bufmgr = &bufmgr;
544 LIST_INITHEAD(&bufmgr.surf_list);
545 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
548 LIST_INITHEAD(&surface.user_data_list);
549 LIST_ADD(&data.item_link, &surface.user_data_list);
552 ret = tbm_surface_internal_add_user_data(&surface, key, ut_tbm_data_free);
554 ASSERT_EQ(ret, expected_ret);
557 TEST(tbm_surface_internal_add_user_data, work_flow_success_2)
560 int expected_ret = 0;
561 unsigned long key = 1;
562 struct _tbm_surface surface;
563 struct _tbm_bufmgr bufmgr;
568 g_surface_bufmgr = &bufmgr;
569 LIST_INITHEAD(&bufmgr.surf_list);
570 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
573 LIST_INITHEAD(&surface.user_data_list);
574 LIST_ADD(&data.item_link, &surface.user_data_list);
576 ret = tbm_surface_internal_add_user_data(&surface, key, ut_tbm_data_free);
578 ASSERT_EQ(ret, expected_ret);
581 TEST(tbm_surface_internal_add_user_data, work_flow_success_1)
584 int expected_ret = 0;
585 unsigned long key = 0;
586 struct _tbm_surface surface;
587 struct _tbm_bufmgr bufmgr;
591 g_surface_bufmgr = &bufmgr;
592 LIST_INITHEAD(&bufmgr.surf_list);
594 ret = tbm_surface_internal_add_user_data(&surface, key, ut_tbm_data_free);
596 ASSERT_EQ(ret, expected_ret);
599 TEST(tbm_surface_internal_add_user_data, null_ptr_fail_1)
602 int expected_ret = 0;
603 unsigned long key = 0;
607 ret = tbm_surface_internal_add_user_data(NULL, key, ut_tbm_data_free);
609 ASSERT_EQ(ret, expected_ret);
612 /* tbm_surface_internal_set_debug_pid() */
614 TEST(tbm_surface_internal_set_debug_pid, work_flow_success_1)
616 unsigned int pid = 20;
617 struct _tbm_surface surface;
618 struct _tbm_bufmgr bufmgr;
622 g_surface_bufmgr = &bufmgr;
623 LIST_INITHEAD(&bufmgr.surf_list);
624 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
626 tbm_surface_internal_set_debug_pid(&surface, pid);
628 ASSERT_EQ(pid, surface.debug_pid);
631 /* tbm_surface_internal_get_plane_bo_idx() */
633 TEST(tbm_surface_internal_get_plane_bo_idx, work_flow_success_3)
637 int expected_bo_idx = 10;
638 struct _tbm_surface surface;
639 struct _tbm_bufmgr bufmgr;
643 surface.planes_bo_idx[plane_idx] = expected_bo_idx;
644 g_surface_bufmgr = &bufmgr;
645 LIST_INITHEAD(&bufmgr.surf_list);
646 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
648 actual = tbm_surface_internal_get_plane_bo_idx(&surface, plane_idx);
650 ASSERT_EQ(actual, expected_bo_idx);
653 TEST(tbm_surface_internal_get_plane_bo_idx, work_flow_success_2)
658 struct _tbm_surface surface;
659 struct _tbm_bufmgr bufmgr;
663 g_surface_bufmgr = &bufmgr;
664 LIST_INITHEAD(&bufmgr.surf_list);
665 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
667 actual = tbm_surface_internal_get_plane_bo_idx(&surface, plane_idx);
669 ASSERT_EQ(actual, expected);
672 TEST(tbm_surface_internal_get_plane_bo_idx, work_flow_success_1)
676 struct _tbm_surface surface;
677 struct _tbm_bufmgr bufmgr;
681 g_surface_bufmgr = &bufmgr;
682 LIST_INITHEAD(&bufmgr.surf_list);
684 actual = tbm_surface_internal_get_plane_bo_idx(&surface, 0);
686 ASSERT_EQ(actual, expected);
689 TEST(tbm_surface_internal_get_plane_bo_idx, null_ptr_fail_1)
695 actual = tbm_surface_internal_get_plane_bo_idx(NULL, 0);
697 ASSERT_EQ(actual, expected);
700 /* tbm_surface_internal_get_format() */
702 TEST(tbm_surface_internal_get_format, work_flow_success_2)
704 unsigned int actual = 1;
705 int expected_format = 768;
706 struct _tbm_surface surface;
707 struct _tbm_bufmgr bufmgr;
711 g_surface_bufmgr = &bufmgr;
712 LIST_INITHEAD(&bufmgr.surf_list);
713 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
714 surface.info.format = expected_format;
716 actual = tbm_surface_internal_get_format(&surface);
718 ASSERT_EQ(actual, expected_format);
721 TEST(tbm_surface_internal_get_format, work_flow_success_1)
723 unsigned int actual = 1;
724 unsigned int expected = 0;
725 struct _tbm_surface surface;
726 struct _tbm_bufmgr bufmgr;
730 g_surface_bufmgr = &bufmgr;
731 LIST_INITHEAD(&bufmgr.surf_list);
733 actual = tbm_surface_internal_get_format(&surface);
735 ASSERT_EQ(actual, expected);
738 TEST(tbm_surface_internal_get_format, null_ptr_fail_1)
740 unsigned int actual = 1;
741 unsigned int expected = 0;
745 actual = tbm_surface_internal_get_format(NULL);
747 ASSERT_EQ(actual, expected);
750 /* tbm_surface_internal_get_height() */
752 TEST(tbm_surface_internal_get_height, work_flow_success_2)
754 unsigned int actual = 1;
755 int expected_height = 768;
756 struct _tbm_surface surface;
757 struct _tbm_bufmgr bufmgr;
761 g_surface_bufmgr = &bufmgr;
762 LIST_INITHEAD(&bufmgr.surf_list);
763 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
764 surface.info.height = expected_height;
766 actual = tbm_surface_internal_get_height(&surface);
768 ASSERT_EQ(actual, expected_height);
771 TEST(tbm_surface_internal_get_height, work_flow_success_1)
773 unsigned int actual = 1;
774 unsigned int expected = 0;
775 struct _tbm_surface surface;
776 struct _tbm_bufmgr bufmgr;
780 g_surface_bufmgr = &bufmgr;
781 LIST_INITHEAD(&bufmgr.surf_list);
783 actual = tbm_surface_internal_get_height(&surface);
785 ASSERT_EQ(actual, expected);
788 TEST(tbm_surface_internal_get_height, null_ptr_fail_1)
790 unsigned int actual = 1;
791 unsigned int expected = 0;
795 actual = tbm_surface_internal_get_height(NULL);
797 ASSERT_EQ(actual, expected);
800 /* tbm_surface_internal_get_width() */
802 TEST(tbm_surface_internal_get_width, work_flow_success_2)
804 unsigned int actual = 1;
805 int expected_width = 1024;
806 struct _tbm_surface surface;
807 struct _tbm_bufmgr bufmgr;
811 g_surface_bufmgr = &bufmgr;
812 LIST_INITHEAD(&bufmgr.surf_list);
813 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
814 surface.info.width = expected_width;
816 actual = tbm_surface_internal_get_width(&surface);
818 ASSERT_EQ(actual, expected_width);
821 TEST(tbm_surface_internal_get_width, work_flow_success_1)
823 unsigned int actual = 1;
824 unsigned int expected = 0;
825 struct _tbm_surface surface;
826 struct _tbm_bufmgr bufmgr;
830 g_surface_bufmgr = &bufmgr;
831 LIST_INITHEAD(&bufmgr.surf_list);
833 actual = tbm_surface_internal_get_width(&surface);
835 ASSERT_EQ(actual, expected);
838 TEST(tbm_surface_internal_get_width, null_ptr_fail_1)
840 unsigned int actual = 1;
841 unsigned int expected = 0;
845 actual = tbm_surface_internal_get_width(NULL);
847 ASSERT_EQ(actual, expected);
850 /* tbm_surface_internal_unmap() */
852 TEST(tbm_surface_internal_unmap, work_flow_success_1)
854 struct _tbm_surface surface;
856 struct _tbm_bufmgr bufmgr;
860 surface.num_bos = count;
861 g_surface_bufmgr = &bufmgr;
862 LIST_INITHEAD(&bufmgr.surf_list);
863 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
865 tbm_surface_internal_unmap(&surface);
867 ASSERT_EQ(ut_tbm_bo_unmap_count, count);
870 /* tbm_surface_internal_get_info() */
872 TEST(tbm_surface_internal_get_info, work_flow_success_2)
875 int expected_ret = 1;
876 tbm_surface_info_s info;
877 struct _tbm_surface surface;
878 struct _tbm_bufmgr bufmgr;
882 surface.info.num_planes = 0;
883 g_surface_bufmgr = &bufmgr;
884 LIST_INITHEAD(&bufmgr.surf_list);
885 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
886 uint32_t expected_width = 2;
887 uint32_t expected_height = 3;
888 uint32_t expected_format = 4;
889 uint32_t expected_bpp = 5;
890 uint32_t expected_size = 6;
891 surface.info.width = expected_width;
892 surface.info.height = expected_height;
893 surface.info.format = expected_format;
894 surface.info.bpp = expected_bpp;
895 surface.info.size = expected_size;
896 surface.info.num_planes = 0;
899 ret = tbm_surface_internal_get_info(&surface, 1, &info, 2);
901 ASSERT_EQ(ret, expected_ret);
902 ASSERT_EQ(info.width, expected_width);
903 ASSERT_EQ(info.height, expected_height);
904 ASSERT_EQ(info.format, expected_format);
905 ASSERT_EQ(info.bpp, expected_bpp);
906 ASSERT_EQ(info.size, expected_size);
909 TEST(tbm_surface_internal_get_info, work_flow_success_1)
912 int expected_ret = 0;
913 tbm_surface_info_s info;
914 struct _tbm_surface surface;
915 struct _tbm_bufmgr bufmgr;
919 g_surface_bufmgr = &bufmgr;
920 LIST_INITHEAD(&bufmgr.surf_list);
922 ret = tbm_surface_internal_get_info(&surface, 1, &info, 1);
924 ASSERT_EQ(ret, expected_ret);
927 TEST(tbm_surface_internal_get_info, null_ptr_fail_1)
930 int expected_ret = 0;
931 tbm_surface_info_s info;
935 ret = tbm_surface_internal_get_info(NULL, 1, &info, 1);
937 ASSERT_EQ(ret, expected_ret);
940 /* tbm_surface_internal_get_plane_data() */
942 TEST(tbm_surface_internal_get_plane_data, work_flow_success_4)
945 int expected_ret = 1;
950 uint32_t expected_size = 1024;
951 uint32_t expected_offset = 10;
952 uint32_t expected_pitch = 20;
953 struct _tbm_surface surface;
954 struct _tbm_bufmgr bufmgr;
958 surface.info.planes[plane_idx].size = expected_size;
959 surface.info.planes[plane_idx].offset = expected_offset;
960 surface.info.planes[plane_idx].stride = expected_pitch;
961 g_surface_bufmgr = &bufmgr;
962 LIST_INITHEAD(&bufmgr.surf_list);
963 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
964 surface.info.num_planes = 1;
966 ret = tbm_surface_internal_get_plane_data(&surface, plane_idx, &size,
969 ASSERT_EQ(ret, expected_ret);
970 ASSERT_EQ(size, expected_size);
971 ASSERT_EQ(offset, expected_offset);
972 ASSERT_EQ(pitch, expected_pitch);
975 TEST(tbm_surface_internal_get_plane_data, work_flow_success_3)
978 int expected_ret = 0;
983 struct _tbm_surface surface;
984 struct _tbm_bufmgr bufmgr;
988 g_surface_bufmgr = &bufmgr;
989 LIST_INITHEAD(&bufmgr.surf_list);
990 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
991 surface.info.num_planes = plane_idx - 1;
993 ret = tbm_surface_internal_get_plane_data(&surface, plane_idx, &size,
996 ASSERT_EQ(ret, expected_ret);
999 TEST(tbm_surface_internal_get_plane_data, work_flow_success_2)
1002 int expected_ret = 0;
1005 uint32_t offset = 0;
1007 struct _tbm_surface surface;
1008 struct _tbm_bufmgr bufmgr;
1012 g_surface_bufmgr = &bufmgr;
1013 LIST_INITHEAD(&bufmgr.surf_list);
1014 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
1016 ret = tbm_surface_internal_get_plane_data(&surface, plane_idx, &size,
1019 ASSERT_EQ(ret, expected_ret);
1022 TEST(tbm_surface_internal_get_plane_data, work_flow_success_1)
1025 int expected_ret = 0;
1027 uint32_t offset = 0;
1029 struct _tbm_surface surface;
1030 struct _tbm_bufmgr bufmgr;
1034 g_surface_bufmgr = &bufmgr;
1035 LIST_INITHEAD(&bufmgr.surf_list);
1037 ret = tbm_surface_internal_get_plane_data(&surface, 1, &size,
1040 ASSERT_EQ(ret, expected_ret);
1043 TEST(tbm_surface_internal_get_plane_data, null_ptr_fail_1)
1046 int expected_ret = 0;
1048 uint32_t offset = 0;
1053 ret = tbm_surface_internal_get_plane_data(NULL, 1, &size, &offset, &pitch);
1055 ASSERT_EQ(ret, expected_ret);
1058 /* tbm_surface_internal_get_size() */
1060 TEST(tbm_surface_internal_get_size, work_flow_success_2)
1062 unsigned int actual_size = 0;
1063 unsigned int expected_size = 1024;
1064 struct _tbm_surface surface;
1065 struct _tbm_bufmgr bufmgr;
1069 surface.info.size = expected_size;
1070 g_surface_bufmgr = &bufmgr;
1071 LIST_INITHEAD(&bufmgr.surf_list);
1072 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
1074 actual_size = tbm_surface_internal_get_size(&surface);
1076 ASSERT_EQ(actual_size, expected_size);
1077 ASSERT_EQ(actual_size, expected_size);
1080 TEST(tbm_surface_internal_get_size, work_flow_success_1)
1082 unsigned int actual_size = 0;
1083 unsigned int expected_size = 0;
1084 struct _tbm_surface surface;
1085 struct _tbm_bufmgr bufmgr;
1089 g_surface_bufmgr = &bufmgr;
1090 LIST_INITHEAD(&bufmgr.surf_list);
1092 actual_size = tbm_surface_internal_get_size(&surface);
1094 ASSERT_EQ(actual_size, expected_size);
1097 TEST(tbm_surface_internal_get_size, null_ptr_fail_1)
1099 unsigned int actual_size = 0;
1100 unsigned int expected_size = 0;
1104 actual_size = tbm_surface_internal_get_size(NULL);
1106 ASSERT_EQ(actual_size, expected_size);
1109 /* tbm_surface_internal_get_bo() */
1111 TEST(tbm_surface_internal_get_bo, work_flow_success_3)
1115 struct _tbm_bo expected_bo;
1116 struct _tbm_surface surface;
1117 struct _tbm_bufmgr bufmgr;
1121 surface.bos[bo_idx] = &expected_bo;
1122 g_surface_bufmgr = &bufmgr;
1123 LIST_INITHEAD(&bufmgr.surf_list);
1124 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
1126 bo = tbm_surface_internal_get_bo(&surface, bo_idx);
1128 ASSERT_TRUE(bo == &expected_bo);
1131 TEST(tbm_surface_internal_get_bo, work_flow_success_2)
1134 struct _tbm_surface surface;
1135 struct _tbm_bufmgr bufmgr;
1139 g_surface_bufmgr = &bufmgr;
1140 LIST_INITHEAD(&bufmgr.surf_list);
1142 bo = tbm_surface_internal_get_bo(&surface, 1);
1144 ASSERT_TRUE(bo == NULL);
1147 TEST(tbm_surface_internal_get_bo, work_flow_success_1)
1150 struct _tbm_surface surface;
1151 struct _tbm_bufmgr bufmgr;
1155 g_surface_bufmgr = &bufmgr;
1156 LIST_INITHEAD(&bufmgr.surf_list);
1157 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
1159 bo = tbm_surface_internal_get_bo(&surface, -1);
1161 ASSERT_TRUE(bo == NULL);
1164 TEST(tbm_surface_internal_get_bo, null_ptr_fail_1)
1170 bo = tbm_surface_internal_get_bo(NULL, 1);
1172 ASSERT_TRUE(bo == NULL);
1175 /* tbm_surface_internal_get_num_bos() */
1177 TEST(tbm_surface_internal_get_num_bos, work_flow_success_1)
1180 int expected_num = 5;
1181 struct _tbm_surface surface;
1182 struct _tbm_bufmgr bufmgr;
1186 surface.num_bos = expected_num;
1187 g_surface_bufmgr = &bufmgr;
1188 LIST_INITHEAD(&bufmgr.surf_list);
1189 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
1191 actual_num = tbm_surface_internal_get_num_bos(&surface);
1193 ASSERT_EQ(actual_num, expected_num);
1196 /* tbm_surface_internal_unref() */
1198 TEST(tbm_surface_internal_unref, work_flow_success_2)
1200 tbm_surface_h surface = (tbm_surface_h) calloc(1, sizeof(*surface));
1201 surface->refcnt = 1;
1202 struct _tbm_bufmgr bufmgr;
1206 g_surface_bufmgr = &bufmgr;
1207 LIST_INITHEAD(&bufmgr.surf_list);
1208 LIST_INITHEAD(&bufmgr.debug_key_list);
1209 LIST_INITHEAD(&surface->user_data_list);
1210 LIST_INITHEAD(&surface->debug_data_list);
1211 LIST_ADD(&surface->item_link, &bufmgr.surf_list);
1212 surface->num_bos = 0;
1213 FREE_TESTED_PTR = surface;
1214 surface->bufmgr = &bufmgr;
1216 tbm_surface_internal_unref(surface);
1218 ASSERT_EQ(free_called_for_tested_ptr, 1);
1219 ASSERT_TRUE(g_surface_bufmgr == NULL);
1222 TEST(tbm_surface_internal_unref, work_flow_success_1)
1224 struct _tbm_surface surface;
1225 int expected_refcnt = 9;
1226 struct _tbm_bufmgr bufmgr;
1230 surface.refcnt = expected_refcnt + 1;
1231 g_surface_bufmgr = &bufmgr;
1232 LIST_INITHEAD(&bufmgr.surf_list);
1233 LIST_INITHEAD(&bufmgr.debug_key_list);
1234 LIST_INITHEAD(&surface.user_data_list);
1235 LIST_INITHEAD(&surface.debug_data_list);
1236 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
1238 tbm_surface_internal_unref(&surface);
1240 ASSERT_EQ(expected_refcnt, surface.refcnt);
1243 /* tbm_surface_internal_ref() */
1245 TEST(tbm_surface_internal_ref, work_flow_success_1)
1247 struct _tbm_surface surface;
1248 int expected_refcnt = 10;
1249 struct _tbm_bufmgr bufmgr;
1253 surface.refcnt = expected_refcnt - 1;
1254 g_surface_bufmgr = &bufmgr;
1255 LIST_INITHEAD(&bufmgr.surf_list);
1256 LIST_INITHEAD(&bufmgr.debug_key_list);
1257 LIST_INITHEAD(&surface.user_data_list);
1258 LIST_INITHEAD(&surface.debug_data_list);
1259 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
1261 tbm_surface_internal_ref(&surface);
1263 ASSERT_EQ(expected_refcnt, surface.refcnt);
1266 /* tbm_surface_internal_destroy() */
1268 TEST(tbm_surface_internal_destroy, work_flow_success_2)
1270 tbm_surface_h surface = (tbm_surface_h) calloc(1, sizeof(*surface));
1271 struct _tbm_bufmgr bufmgr;
1275 surface->refcnt = 1;
1276 g_surface_bufmgr = &bufmgr;
1277 LIST_INITHEAD(&bufmgr.surf_list);
1278 LIST_INITHEAD(&bufmgr.debug_key_list);
1279 LIST_INITHEAD(&surface->user_data_list);
1280 LIST_INITHEAD(&surface->debug_data_list);
1281 LIST_ADD(&surface->item_link, &bufmgr.surf_list);
1282 surface->num_bos = 0;
1283 FREE_TESTED_PTR = surface;
1284 surface->bufmgr = &bufmgr;
1286 tbm_surface_internal_destroy(surface);
1288 ASSERT_EQ(free_called_for_tested_ptr, 1);
1289 ASSERT_TRUE(g_surface_bufmgr == NULL);
1292 TEST(tbm_surface_internal_destroy, work_flow_success_1)
1294 struct _tbm_surface surface;
1295 int expected_refcnt = 9;
1296 struct _tbm_bufmgr bufmgr;
1300 surface.refcnt = expected_refcnt + 1;
1301 g_surface_bufmgr = &bufmgr;
1302 LIST_INITHEAD(&bufmgr.surf_list);
1303 LIST_INITHEAD(&bufmgr.debug_key_list);
1304 LIST_INITHEAD(&surface.user_data_list);
1305 LIST_INITHEAD(&surface.debug_data_list);
1306 LIST_ADD(&surface.item_link, &bufmgr.surf_list);
1308 tbm_surface_internal_destroy(&surface);
1310 ASSERT_EQ(expected_refcnt, surface.refcnt);
1313 /* tbm_surface_internal_get_bpp() */
1315 TEST(tbm_surface_internal_get_bpp, work_flow_success_59)
1318 int expected_ret = 24;
1319 tbm_format format = TBM_FORMAT_YVU444;
1323 ret = tbm_surface_internal_get_bpp(format);
1325 ASSERT_EQ(ret, expected_ret);
1328 TEST(tbm_surface_internal_get_bpp, work_flow_success_58)
1331 int expected_ret = 24;
1332 tbm_format format = TBM_FORMAT_YUV444;
1336 ret = tbm_surface_internal_get_bpp(format);
1338 ASSERT_EQ(ret, expected_ret);
1341 TEST(tbm_surface_internal_get_bpp, work_flow_success_57)
1344 int expected_ret = 16;
1345 tbm_format format = TBM_FORMAT_YVU422;
1349 ret = tbm_surface_internal_get_bpp(format);
1351 ASSERT_EQ(ret, expected_ret);
1354 TEST(tbm_surface_internal_get_bpp, work_flow_success_56)
1357 int expected_ret = 16;
1358 tbm_format format = TBM_FORMAT_YUV422;
1362 ret = tbm_surface_internal_get_bpp(format);
1364 ASSERT_EQ(ret, expected_ret);
1367 TEST(tbm_surface_internal_get_bpp, work_flow_success_55)
1370 int expected_ret = 12;
1371 tbm_format format = TBM_FORMAT_YVU420;
1375 ret = tbm_surface_internal_get_bpp(format);
1377 ASSERT_EQ(ret, expected_ret);
1380 TEST(tbm_surface_internal_get_bpp, work_flow_success_54)
1383 int expected_ret = 12;
1384 tbm_format format = TBM_FORMAT_YUV420;
1388 ret = tbm_surface_internal_get_bpp(format);
1390 ASSERT_EQ(ret, expected_ret);
1393 TEST(tbm_surface_internal_get_bpp, work_flow_success_53)
1396 int expected_ret = 12;
1397 tbm_format format = TBM_FORMAT_YVU411;
1401 ret = tbm_surface_internal_get_bpp(format);
1403 ASSERT_EQ(ret, expected_ret);
1406 TEST(tbm_surface_internal_get_bpp, work_flow_success_52)
1409 int expected_ret = 12;
1410 tbm_format format = TBM_FORMAT_YUV411;
1414 ret = tbm_surface_internal_get_bpp(format);
1416 ASSERT_EQ(ret, expected_ret);
1419 TEST(tbm_surface_internal_get_bpp, work_flow_success_51)
1422 int expected_ret = 9;
1423 tbm_format format = TBM_FORMAT_YVU410;
1427 ret = tbm_surface_internal_get_bpp(format);
1429 ASSERT_EQ(ret, expected_ret);
1432 TEST(tbm_surface_internal_get_bpp, work_flow_success_50)
1435 int expected_ret = 9;
1436 tbm_format format = TBM_FORMAT_YUV410;
1440 ret = tbm_surface_internal_get_bpp(format);
1442 ASSERT_EQ(ret, expected_ret);
1445 TEST(tbm_surface_internal_get_bpp, work_flow_success_49)
1448 int expected_ret = 16;
1449 tbm_format format = TBM_FORMAT_NV61;
1453 ret = tbm_surface_internal_get_bpp(format);
1455 ASSERT_EQ(ret, expected_ret);
1458 TEST(tbm_surface_internal_get_bpp, work_flow_success_48)
1461 int expected_ret = 16;
1462 tbm_format format = TBM_FORMAT_NV16;
1466 ret = tbm_surface_internal_get_bpp(format);
1468 ASSERT_EQ(ret, expected_ret);
1471 TEST(tbm_surface_internal_get_bpp, work_flow_success_47)
1474 int expected_ret = 12;
1475 tbm_format format = TBM_FORMAT_NV21;
1479 ret = tbm_surface_internal_get_bpp(format);
1481 ASSERT_EQ(ret, expected_ret);
1484 TEST(tbm_surface_internal_get_bpp, work_flow_success_46)
1487 int expected_ret = 12;
1488 tbm_format format = TBM_FORMAT_NV12MT;
1492 ret = tbm_surface_internal_get_bpp(format);
1494 ASSERT_EQ(ret, expected_ret);
1497 TEST(tbm_surface_internal_get_bpp, work_flow_success_45)
1500 int expected_ret = 12;
1501 tbm_format format = TBM_FORMAT_NV12;
1505 ret = tbm_surface_internal_get_bpp(format);
1507 ASSERT_EQ(ret, expected_ret);
1510 TEST(tbm_surface_internal_get_bpp, work_flow_success_44)
1513 int expected_ret = 32;
1514 tbm_format format = TBM_FORMAT_AYUV;
1518 ret = tbm_surface_internal_get_bpp(format);
1520 ASSERT_EQ(ret, expected_ret);
1523 TEST(tbm_surface_internal_get_bpp, work_flow_success_43)
1526 int expected_ret = 32;
1527 tbm_format format = TBM_FORMAT_VYUY;
1531 ret = tbm_surface_internal_get_bpp(format);
1533 ASSERT_EQ(ret, expected_ret);
1536 TEST(tbm_surface_internal_get_bpp, work_flow_success_42)
1539 int expected_ret = 32;
1540 tbm_format format = TBM_FORMAT_UYVY;
1544 ret = tbm_surface_internal_get_bpp(format);
1546 ASSERT_EQ(ret, expected_ret);
1549 TEST(tbm_surface_internal_get_bpp, work_flow_success_41)
1552 int expected_ret = 32;
1553 tbm_format format = TBM_FORMAT_YVYU;
1557 ret = tbm_surface_internal_get_bpp(format);
1559 ASSERT_EQ(ret, expected_ret);
1562 TEST(tbm_surface_internal_get_bpp, work_flow_success_40)
1565 int expected_ret = 32;
1566 tbm_format format = TBM_FORMAT_YUYV;
1570 ret = tbm_surface_internal_get_bpp(format);
1572 ASSERT_EQ(ret, expected_ret);
1575 TEST(tbm_surface_internal_get_bpp, work_flow_success_39)
1578 int expected_ret = 32;
1579 tbm_format format = TBM_FORMAT_BGRA1010102;
1583 ret = tbm_surface_internal_get_bpp(format);
1585 ASSERT_EQ(ret, expected_ret);
1588 TEST(tbm_surface_internal_get_bpp, work_flow_success_38)
1591 int expected_ret = 32;
1592 tbm_format format = TBM_FORMAT_RGBA1010102;
1596 ret = tbm_surface_internal_get_bpp(format);
1598 ASSERT_EQ(ret, expected_ret);
1601 TEST(tbm_surface_internal_get_bpp, work_flow_success_37)
1604 int expected_ret = 32;
1605 tbm_format format = TBM_FORMAT_ABGR2101010;
1609 ret = tbm_surface_internal_get_bpp(format);
1611 ASSERT_EQ(ret, expected_ret);
1614 TEST(tbm_surface_internal_get_bpp, work_flow_success_36)
1617 int expected_ret = 32;
1618 tbm_format format = TBM_FORMAT_ARGB2101010;
1622 ret = tbm_surface_internal_get_bpp(format);
1624 ASSERT_EQ(ret, expected_ret);
1627 TEST(tbm_surface_internal_get_bpp, work_flow_success_35)
1630 int expected_ret = 32;
1631 tbm_format format = TBM_FORMAT_BGRX1010102;
1635 ret = tbm_surface_internal_get_bpp(format);
1637 ASSERT_EQ(ret, expected_ret);
1640 TEST(tbm_surface_internal_get_bpp, work_flow_success_34)
1643 int expected_ret = 32;
1644 tbm_format format = TBM_FORMAT_RGBX1010102;
1648 ret = tbm_surface_internal_get_bpp(format);
1650 ASSERT_EQ(ret, expected_ret);
1653 TEST(tbm_surface_internal_get_bpp, work_flow_success_33)
1656 int expected_ret = 32;
1657 tbm_format format = TBM_FORMAT_XBGR2101010;
1661 ret = tbm_surface_internal_get_bpp(format);
1663 ASSERT_EQ(ret, expected_ret);
1666 TEST(tbm_surface_internal_get_bpp, work_flow_success_32)
1669 int expected_ret = 32;
1670 tbm_format format = TBM_FORMAT_XRGB2101010;
1674 ret = tbm_surface_internal_get_bpp(format);
1676 ASSERT_EQ(ret, expected_ret);
1679 TEST(tbm_surface_internal_get_bpp, work_flow_success_31)
1682 int expected_ret = 32;
1683 tbm_format format = TBM_FORMAT_BGRA8888;
1687 ret = tbm_surface_internal_get_bpp(format);
1689 ASSERT_EQ(ret, expected_ret);
1692 TEST(tbm_surface_internal_get_bpp, work_flow_success_30)
1695 int expected_ret = 32;
1696 tbm_format format = TBM_FORMAT_RGBA8888;
1700 ret = tbm_surface_internal_get_bpp(format);
1702 ASSERT_EQ(ret, expected_ret);
1705 TEST(tbm_surface_internal_get_bpp, work_flow_success_29)
1708 int expected_ret = 32;
1709 tbm_format format = TBM_FORMAT_ABGR8888;
1713 ret = tbm_surface_internal_get_bpp(format);
1715 ASSERT_EQ(ret, expected_ret);
1718 TEST(tbm_surface_internal_get_bpp, work_flow_success_28)
1721 int expected_ret = 32;
1722 tbm_format format = TBM_FORMAT_ARGB8888;
1726 ret = tbm_surface_internal_get_bpp(format);
1728 ASSERT_EQ(ret, expected_ret);
1731 TEST(tbm_surface_internal_get_bpp, work_flow_success_27)
1734 int expected_ret = 32;
1735 tbm_format format = TBM_FORMAT_BGRX8888;
1739 ret = tbm_surface_internal_get_bpp(format);
1741 ASSERT_EQ(ret, expected_ret);
1744 TEST(tbm_surface_internal_get_bpp, work_flow_success_26)
1747 int expected_ret = 32;
1748 tbm_format format = TBM_FORMAT_RGBX8888;
1752 ret = tbm_surface_internal_get_bpp(format);
1754 ASSERT_EQ(ret, expected_ret);
1757 TEST(tbm_surface_internal_get_bpp, work_flow_success_25)
1760 int expected_ret = 32;
1761 tbm_format format = TBM_FORMAT_XBGR8888;
1765 ret = tbm_surface_internal_get_bpp(format);
1767 ASSERT_EQ(ret, expected_ret);
1770 TEST(tbm_surface_internal_get_bpp, work_flow_success_24)
1773 int expected_ret = 32;
1774 tbm_format format = TBM_FORMAT_XRGB8888;
1778 ret = tbm_surface_internal_get_bpp(format);
1780 ASSERT_EQ(ret, expected_ret);
1783 TEST(tbm_surface_internal_get_bpp, work_flow_success_23)
1786 int expected_ret = 24;
1787 tbm_format format = TBM_FORMAT_BGR888;
1791 ret = tbm_surface_internal_get_bpp(format);
1793 ASSERT_EQ(ret, expected_ret);
1796 TEST(tbm_surface_internal_get_bpp, work_flow_success_22)
1799 int expected_ret = 24;
1800 tbm_format format = TBM_FORMAT_RGB888;
1804 ret = tbm_surface_internal_get_bpp(format);
1806 ASSERT_EQ(ret, expected_ret);
1809 TEST(tbm_surface_internal_get_bpp, work_flow_success_21)
1812 int expected_ret = 16;
1813 tbm_format format = TBM_FORMAT_BGR565;
1817 ret = tbm_surface_internal_get_bpp(format);
1819 ASSERT_EQ(ret, expected_ret);
1822 TEST(tbm_surface_internal_get_bpp, work_flow_success_20)
1825 int expected_ret = 16;
1826 tbm_format format = TBM_FORMAT_RGB565;
1830 ret = tbm_surface_internal_get_bpp(format);
1832 ASSERT_EQ(ret, expected_ret);
1835 TEST(tbm_surface_internal_get_bpp, work_flow_success_19)
1838 int expected_ret = 16;
1839 tbm_format format = TBM_FORMAT_BGRA5551;
1843 ret = tbm_surface_internal_get_bpp(format);
1845 ASSERT_EQ(ret, expected_ret);
1848 TEST(tbm_surface_internal_get_bpp, work_flow_success_18)
1851 int expected_ret = 16;
1852 tbm_format format = TBM_FORMAT_RGBA5551;
1856 ret = tbm_surface_internal_get_bpp(format);
1858 ASSERT_EQ(ret, expected_ret);
1861 TEST(tbm_surface_internal_get_bpp, work_flow_success_17)
1864 int expected_ret = 16;
1865 tbm_format format = TBM_FORMAT_ABGR1555;
1869 ret = tbm_surface_internal_get_bpp(format);
1871 ASSERT_EQ(ret, expected_ret);
1874 TEST(tbm_surface_internal_get_bpp, work_flow_success_16)
1877 int expected_ret = 16;
1878 tbm_format format = TBM_FORMAT_ARGB1555;
1882 ret = tbm_surface_internal_get_bpp(format);
1884 ASSERT_EQ(ret, expected_ret);
1887 TEST(tbm_surface_internal_get_bpp, work_flow_success_15)
1890 int expected_ret = 16;
1891 tbm_format format = TBM_FORMAT_BGRX5551;
1895 ret = tbm_surface_internal_get_bpp(format);
1897 ASSERT_EQ(ret, expected_ret);
1900 TEST(tbm_surface_internal_get_bpp, work_flow_success_14)
1903 int expected_ret = 16;
1904 tbm_format format = TBM_FORMAT_RGBX5551;
1908 ret = tbm_surface_internal_get_bpp(format);
1910 ASSERT_EQ(ret, expected_ret);
1913 TEST(tbm_surface_internal_get_bpp, work_flow_success_13)
1916 int expected_ret = 16;
1917 tbm_format format = TBM_FORMAT_XBGR1555;
1921 ret = tbm_surface_internal_get_bpp(format);
1923 ASSERT_EQ(ret, expected_ret);
1926 TEST(tbm_surface_internal_get_bpp, work_flow_success_12)
1929 int expected_ret = 16;
1930 tbm_format format = TBM_FORMAT_XRGB1555;
1934 ret = tbm_surface_internal_get_bpp(format);
1936 ASSERT_EQ(ret, expected_ret);
1939 TEST(tbm_surface_internal_get_bpp, work_flow_success_11)
1942 int expected_ret = 16;
1943 tbm_format format = TBM_FORMAT_BGRA4444;
1947 ret = tbm_surface_internal_get_bpp(format);
1949 ASSERT_EQ(ret, expected_ret);
1952 TEST(tbm_surface_internal_get_bpp, work_flow_success_10)
1955 int expected_ret = 16;
1956 tbm_format format = TBM_FORMAT_RGBA4444;
1960 ret = tbm_surface_internal_get_bpp(format);
1962 ASSERT_EQ(ret, expected_ret);
1965 TEST(tbm_surface_internal_get_bpp, work_flow_success_9)
1968 int expected_ret = 16;
1969 tbm_format format = TBM_FORMAT_ABGR4444;
1973 ret = tbm_surface_internal_get_bpp(format);
1975 ASSERT_EQ(ret, expected_ret);
1978 TEST(tbm_surface_internal_get_bpp, work_flow_success_8)
1981 int expected_ret = 16;
1982 tbm_format format = TBM_FORMAT_ARGB4444;
1986 ret = tbm_surface_internal_get_bpp(format);
1988 ASSERT_EQ(ret, expected_ret);
1991 TEST(tbm_surface_internal_get_bpp, work_flow_success_7)
1994 int expected_ret = 16;
1995 tbm_format format = TBM_FORMAT_BGRX4444;
1999 ret = tbm_surface_internal_get_bpp(format);
2001 ASSERT_EQ(ret, expected_ret);
2004 TEST(tbm_surface_internal_get_bpp, work_flow_success_6)
2007 int expected_ret = 16;
2008 tbm_format format = TBM_FORMAT_RGBX4444;
2012 ret = tbm_surface_internal_get_bpp(format);
2014 ASSERT_EQ(ret, expected_ret);
2017 TEST(tbm_surface_internal_get_bpp, work_flow_success_5)
2020 int expected_ret = 16;
2021 tbm_format format = TBM_FORMAT_XBGR4444;
2025 ret = tbm_surface_internal_get_bpp(format);
2027 ASSERT_EQ(ret, expected_ret);
2030 TEST(tbm_surface_internal_get_bpp, work_flow_success_4)
2033 int expected_ret = 16;
2034 tbm_format format = TBM_FORMAT_XRGB4444;
2038 ret = tbm_surface_internal_get_bpp(format);
2040 ASSERT_EQ(ret, expected_ret);
2043 TEST(tbm_surface_internal_get_bpp, work_flow_success_3)
2046 int expected_ret = 8;
2047 tbm_format format = TBM_FORMAT_BGR233;
2051 ret = tbm_surface_internal_get_bpp(format);
2053 ASSERT_EQ(ret, expected_ret);
2056 TEST(tbm_surface_internal_get_bpp, work_flow_success_2)
2059 int expected_ret = 8;
2060 tbm_format format = TBM_FORMAT_RGB332;
2064 ret = tbm_surface_internal_get_bpp(format);
2066 ASSERT_EQ(ret, expected_ret);
2069 TEST(tbm_surface_internal_get_bpp, work_flow_success_1)
2072 int expected_ret = 8;
2073 tbm_format format = TBM_FORMAT_C8;
2077 ret = tbm_surface_internal_get_bpp(format);
2079 ASSERT_EQ(ret, expected_ret);
2082 /* tbm_surface_internal_get_num_planes() */
2084 TEST(tbm_surface_internal_get_num_planes, work_flow_success_60)
2087 int expected_ret = 3;
2088 tbm_format format = TBM_FORMAT_YVU444;
2092 ret = tbm_surface_internal_get_num_planes(format);
2094 ASSERT_EQ(ret, expected_ret);
2097 TEST(tbm_surface_internal_get_num_planes, work_flow_success_59)
2100 int expected_ret = 3;
2101 tbm_format format = TBM_FORMAT_YUV444;
2105 ret = tbm_surface_internal_get_num_planes(format);
2107 ASSERT_EQ(ret, expected_ret);
2110 TEST(tbm_surface_internal_get_num_planes, work_flow_success_58)
2113 int expected_ret = 3;
2114 tbm_format format = TBM_FORMAT_YVU422;
2118 ret = tbm_surface_internal_get_num_planes(format);
2120 ASSERT_EQ(ret, expected_ret);
2123 TEST(tbm_surface_internal_get_num_planes, work_flow_success_57)
2126 int expected_ret = 3;
2127 tbm_format format = TBM_FORMAT_YUV422;
2131 ret = tbm_surface_internal_get_num_planes(format);
2133 ASSERT_EQ(ret, expected_ret);
2136 TEST(tbm_surface_internal_get_num_planes, work_flow_success_56)
2139 int expected_ret = 3;
2140 tbm_format format = TBM_FORMAT_YVU420;
2144 ret = tbm_surface_internal_get_num_planes(format);
2146 ASSERT_EQ(ret, expected_ret);
2149 TEST(tbm_surface_internal_get_num_planes, work_flow_success_55)
2152 int expected_ret = 3;
2153 tbm_format format = TBM_FORMAT_YUV420;
2157 ret = tbm_surface_internal_get_num_planes(format);
2159 ASSERT_EQ(ret, expected_ret);
2162 TEST(tbm_surface_internal_get_num_planes, work_flow_success_54)
2165 int expected_ret = 3;
2166 tbm_format format = TBM_FORMAT_YVU411;
2170 ret = tbm_surface_internal_get_num_planes(format);
2172 ASSERT_EQ(ret, expected_ret);
2175 TEST(tbm_surface_internal_get_num_planes, work_flow_success_53)
2178 int expected_ret = 3;
2179 tbm_format format = TBM_FORMAT_YUV411;
2183 ret = tbm_surface_internal_get_num_planes(format);
2185 ASSERT_EQ(ret, expected_ret);
2188 TEST(tbm_surface_internal_get_num_planes, work_flow_success_52)
2191 int expected_ret = 3;
2192 tbm_format format = TBM_FORMAT_YVU410;
2196 ret = tbm_surface_internal_get_num_planes(format);
2198 ASSERT_EQ(ret, expected_ret);
2201 TEST(tbm_surface_internal_get_num_planes, work_flow_success_51)
2204 int expected_ret = 3;
2205 tbm_format format = TBM_FORMAT_YUV410;
2209 ret = tbm_surface_internal_get_num_planes(format);
2211 ASSERT_EQ(ret, expected_ret);
2214 TEST(tbm_surface_internal_get_num_planes, work_flow_success_50)
2217 int expected_ret = 2;
2218 tbm_format format = TBM_FORMAT_NV61;
2222 ret = tbm_surface_internal_get_num_planes(format);
2224 ASSERT_EQ(ret, expected_ret);
2227 TEST(tbm_surface_internal_get_num_planes, work_flow_success_49)
2230 int expected_ret = 2;
2231 tbm_format format = TBM_FORMAT_NV16;
2235 ret = tbm_surface_internal_get_num_planes(format);
2237 ASSERT_EQ(ret, expected_ret);
2240 TEST(tbm_surface_internal_get_num_planes, work_flow_success_48)
2243 int expected_ret = 2;
2244 tbm_format format = TBM_FORMAT_NV21;
2248 ret = tbm_surface_internal_get_num_planes(format);
2250 ASSERT_EQ(ret, expected_ret);
2253 TEST(tbm_surface_internal_get_num_planes, work_flow_success_47)
2256 int expected_ret = 2;
2257 tbm_format format = TBM_FORMAT_NV12MT;
2261 ret = tbm_surface_internal_get_num_planes(format);
2263 ASSERT_EQ(ret, expected_ret);
2266 TEST(tbm_surface_internal_get_num_planes, work_flow_success_46)
2269 int expected_ret = 2;
2270 tbm_format format = TBM_FORMAT_NV12;
2274 ret = tbm_surface_internal_get_num_planes(format);
2276 ASSERT_EQ(ret, expected_ret);
2279 TEST(tbm_surface_internal_get_num_planes, work_flow_success_45)
2282 int expected_ret = 1;
2283 tbm_format format = TBM_FORMAT_AYUV;
2287 ret = tbm_surface_internal_get_num_planes(format);
2289 ASSERT_EQ(ret, expected_ret);
2292 TEST(tbm_surface_internal_get_num_planes, work_flow_success_44)
2295 int expected_ret = 1;
2296 tbm_format format = TBM_FORMAT_VYUY;
2300 ret = tbm_surface_internal_get_num_planes(format);
2302 ASSERT_EQ(ret, expected_ret);
2305 TEST(tbm_surface_internal_get_num_planes, work_flow_success_43)
2308 int expected_ret = 1;
2309 tbm_format format = TBM_FORMAT_UYVY;
2313 ret = tbm_surface_internal_get_num_planes(format);
2315 ASSERT_EQ(ret, expected_ret);
2318 TEST(tbm_surface_internal_get_num_planes, work_flow_success_42)
2321 int expected_ret = 1;
2322 tbm_format format = TBM_FORMAT_YVYU;
2326 ret = tbm_surface_internal_get_num_planes(format);
2328 ASSERT_EQ(ret, expected_ret);
2331 TEST(tbm_surface_internal_get_num_planes, work_flow_success_41)
2334 int expected_ret = 1;
2335 tbm_format format = TBM_FORMAT_YUYV;
2339 ret = tbm_surface_internal_get_num_planes(format);
2341 ASSERT_EQ(ret, expected_ret);
2344 TEST(tbm_surface_internal_get_num_planes, work_flow_success_40)
2347 int expected_ret = 1;
2348 tbm_format format = TBM_FORMAT_BGRA1010102;
2352 ret = tbm_surface_internal_get_num_planes(format);
2354 ASSERT_EQ(ret, expected_ret);
2357 TEST(tbm_surface_internal_get_num_planes, work_flow_success_39)
2360 int expected_ret = 1;
2361 tbm_format format = TBM_FORMAT_RGBA1010102;
2365 ret = tbm_surface_internal_get_num_planes(format);
2367 ASSERT_EQ(ret, expected_ret);
2370 TEST(tbm_surface_internal_get_num_planes, work_flow_success_38)
2373 int expected_ret = 1;
2374 tbm_format format = TBM_FORMAT_ABGR2101010;
2378 ret = tbm_surface_internal_get_num_planes(format);
2380 ASSERT_EQ(ret, expected_ret);
2383 TEST(tbm_surface_internal_get_num_planes, work_flow_success_37)
2386 int expected_ret = 1;
2387 tbm_format format = TBM_FORMAT_ARGB2101010;
2391 ret = tbm_surface_internal_get_num_planes(format);
2393 ASSERT_EQ(ret, expected_ret);
2396 TEST(tbm_surface_internal_get_num_planes, work_flow_success_36)
2399 int expected_ret = 1;
2400 tbm_format format = TBM_FORMAT_BGRX1010102;
2404 ret = tbm_surface_internal_get_num_planes(format);
2406 ASSERT_EQ(ret, expected_ret);
2409 TEST(tbm_surface_internal_get_num_planes, work_flow_success_35)
2412 int expected_ret = 1;
2413 tbm_format format = TBM_FORMAT_RGBX1010102;
2417 ret = tbm_surface_internal_get_num_planes(format);
2419 ASSERT_EQ(ret, expected_ret);
2422 TEST(tbm_surface_internal_get_num_planes, work_flow_success_34)
2425 int expected_ret = 1;
2426 tbm_format format = TBM_FORMAT_XBGR2101010;
2430 ret = tbm_surface_internal_get_num_planes(format);
2432 ASSERT_EQ(ret, expected_ret);
2435 TEST(tbm_surface_internal_get_num_planes, work_flow_success_33)
2438 int expected_ret = 1;
2439 tbm_format format = TBM_FORMAT_XRGB2101010;
2443 ret = tbm_surface_internal_get_num_planes(format);
2445 ASSERT_EQ(ret, expected_ret);
2448 TEST(tbm_surface_internal_get_num_planes, work_flow_success_32)
2451 int expected_ret = 1;
2452 tbm_format format = TBM_FORMAT_BGRA8888;
2456 ret = tbm_surface_internal_get_num_planes(format);
2458 ASSERT_EQ(ret, expected_ret);
2461 TEST(tbm_surface_internal_get_num_planes, work_flow_success_31)
2464 int expected_ret = 1;
2465 tbm_format format = TBM_FORMAT_RGBA8888;
2469 ret = tbm_surface_internal_get_num_planes(format);
2471 ASSERT_EQ(ret, expected_ret);
2474 TEST(tbm_surface_internal_get_num_planes, work_flow_success_30)
2477 int expected_ret = 1;
2478 tbm_format format = TBM_FORMAT_ABGR8888;
2482 ret = tbm_surface_internal_get_num_planes(format);
2484 ASSERT_EQ(ret, expected_ret);
2487 TEST(tbm_surface_internal_get_num_planes, work_flow_success_29)
2490 int expected_ret = 1;
2491 tbm_format format = TBM_FORMAT_ABGR8888;
2495 ret = tbm_surface_internal_get_num_planes(format);
2497 ASSERT_EQ(ret, expected_ret);
2500 TEST(tbm_surface_internal_get_num_planes, work_flow_success_28)
2503 int expected_ret = 1;
2504 tbm_format format = TBM_FORMAT_ARGB8888;
2508 ret = tbm_surface_internal_get_num_planes(format);
2510 ASSERT_EQ(ret, expected_ret);
2513 TEST(tbm_surface_internal_get_num_planes, work_flow_success_27)
2516 int expected_ret = 1;
2517 tbm_format format = TBM_FORMAT_BGRX8888;
2521 ret = tbm_surface_internal_get_num_planes(format);
2523 ASSERT_EQ(ret, expected_ret);
2526 TEST(tbm_surface_internal_get_num_planes, work_flow_success_26)
2529 int expected_ret = 1;
2530 tbm_format format = TBM_FORMAT_RGBX8888;
2534 ret = tbm_surface_internal_get_num_planes(format);
2536 ASSERT_EQ(ret, expected_ret);
2539 TEST(tbm_surface_internal_get_num_planes, work_flow_success_25)
2542 int expected_ret = 1;
2543 tbm_format format = TBM_FORMAT_XBGR8888;
2547 ret = tbm_surface_internal_get_num_planes(format);
2549 ASSERT_EQ(ret, expected_ret);
2552 TEST(tbm_surface_internal_get_num_planes, work_flow_success_24)
2555 int expected_ret = 1;
2556 tbm_format format = TBM_FORMAT_XRGB8888;
2560 ret = tbm_surface_internal_get_num_planes(format);
2562 ASSERT_EQ(ret, expected_ret);
2565 TEST(tbm_surface_internal_get_num_planes, work_flow_success_23)
2568 int expected_ret = 1;
2569 tbm_format format = TBM_FORMAT_BGR888;
2573 ret = tbm_surface_internal_get_num_planes(format);
2575 ASSERT_EQ(ret, expected_ret);
2578 TEST(tbm_surface_internal_get_num_planes, work_flow_success_22)
2581 int expected_ret = 1;
2582 tbm_format format = TBM_FORMAT_RGB888;
2586 ret = tbm_surface_internal_get_num_planes(format);
2588 ASSERT_EQ(ret, expected_ret);
2591 TEST(tbm_surface_internal_get_num_planes, work_flow_success_21)
2594 int expected_ret = 1;
2595 tbm_format format = TBM_FORMAT_BGR565;
2599 ret = tbm_surface_internal_get_num_planes(format);
2601 ASSERT_EQ(ret, expected_ret);
2604 TEST(tbm_surface_internal_get_num_planes, work_flow_success_20)
2607 int expected_ret = 1;
2608 tbm_format format = TBM_FORMAT_RGB565;
2612 ret = tbm_surface_internal_get_num_planes(format);
2614 ASSERT_EQ(ret, expected_ret);
2617 TEST(tbm_surface_internal_get_num_planes, work_flow_success_19)
2620 int expected_ret = 1;
2621 tbm_format format = TBM_FORMAT_BGRA5551;
2625 ret = tbm_surface_internal_get_num_planes(format);
2627 ASSERT_EQ(ret, expected_ret);
2630 TEST(tbm_surface_internal_get_num_planes, work_flow_success_18)
2633 int expected_ret = 1;
2634 tbm_format format = TBM_FORMAT_RGBA5551;
2638 ret = tbm_surface_internal_get_num_planes(format);
2640 ASSERT_EQ(ret, expected_ret);
2643 TEST(tbm_surface_internal_get_num_planes, work_flow_success_17)
2646 int expected_ret = 1;
2647 tbm_format format = TBM_FORMAT_ABGR1555;
2651 ret = tbm_surface_internal_get_num_planes(format);
2653 ASSERT_EQ(ret, expected_ret);
2656 TEST(tbm_surface_internal_get_num_planes, work_flow_success_16)
2659 int expected_ret = 1;
2660 tbm_format format = TBM_FORMAT_ARGB1555;
2664 ret = tbm_surface_internal_get_num_planes(format);
2666 ASSERT_EQ(ret, expected_ret);
2669 TEST(tbm_surface_internal_get_num_planes, work_flow_success_15)
2672 int expected_ret = 1;
2673 tbm_format format = TBM_FORMAT_BGRX5551;
2677 ret = tbm_surface_internal_get_num_planes(format);
2679 ASSERT_EQ(ret, expected_ret);
2682 TEST(tbm_surface_internal_get_num_planes, work_flow_success_14)
2685 int expected_ret = 1;
2686 tbm_format format = TBM_FORMAT_RGBX5551;
2690 ret = tbm_surface_internal_get_num_planes(format);
2692 ASSERT_EQ(ret, expected_ret);
2695 TEST(tbm_surface_internal_get_num_planes, work_flow_success_13)
2698 int expected_ret = 1;
2699 tbm_format format = TBM_FORMAT_XBGR1555;
2703 ret = tbm_surface_internal_get_num_planes(format);
2705 ASSERT_EQ(ret, expected_ret);
2708 TEST(tbm_surface_internal_get_num_planes, work_flow_success_12)
2711 int expected_ret = 1;
2712 tbm_format format = TBM_FORMAT_XRGB1555;
2716 ret = tbm_surface_internal_get_num_planes(format);
2718 ASSERT_EQ(ret, expected_ret);
2721 TEST(tbm_surface_internal_get_num_planes, work_flow_success_11)
2724 int expected_ret = 1;
2725 tbm_format format = TBM_FORMAT_BGRA4444;
2729 ret = tbm_surface_internal_get_num_planes(format);
2731 ASSERT_EQ(ret, expected_ret);
2734 TEST(tbm_surface_internal_get_num_planes, work_flow_success_10)
2737 int expected_ret = 1;
2738 tbm_format format = TBM_FORMAT_RGBA4444;
2742 ret = tbm_surface_internal_get_num_planes(format);
2744 ASSERT_EQ(ret, expected_ret);
2747 TEST(tbm_surface_internal_get_num_planes, work_flow_success_9)
2750 int expected_ret = 1;
2751 tbm_format format = TBM_FORMAT_ABGR4444;
2755 ret = tbm_surface_internal_get_num_planes(format);
2757 ASSERT_EQ(ret, expected_ret);
2760 TEST(tbm_surface_internal_get_num_planes, work_flow_success_8)
2763 int expected_ret = 1;
2764 tbm_format format = TBM_FORMAT_ARGB4444;
2768 ret = tbm_surface_internal_get_num_planes(format);
2770 ASSERT_EQ(ret, expected_ret);
2773 TEST(tbm_surface_internal_get_num_planes, work_flow_success_7)
2776 int expected_ret = 1;
2777 tbm_format format = TBM_FORMAT_BGRX4444;
2781 ret = tbm_surface_internal_get_num_planes(format);
2783 ASSERT_EQ(ret, expected_ret);
2786 TEST(tbm_surface_internal_get_num_planes, work_flow_success_6)
2789 int expected_ret = 1;
2790 tbm_format format = TBM_FORMAT_RGBX4444;
2794 ret = tbm_surface_internal_get_num_planes(format);
2796 ASSERT_EQ(ret, expected_ret);
2799 TEST(tbm_surface_internal_get_num_planes, work_flow_success_5)
2802 int expected_ret = 1;
2803 tbm_format format = TBM_FORMAT_XBGR4444;
2807 ret = tbm_surface_internal_get_num_planes(format);
2809 ASSERT_EQ(ret, expected_ret);
2812 TEST(tbm_surface_internal_get_num_planes, work_flow_success_4)
2815 int expected_ret = 1;
2816 tbm_format format = TBM_FORMAT_XRGB4444;
2820 ret = tbm_surface_internal_get_num_planes(format);
2822 ASSERT_EQ(ret, expected_ret);
2825 TEST(tbm_surface_internal_get_num_planes, work_flow_success_3)
2828 int expected_ret = 1;
2829 tbm_format format = TBM_FORMAT_BGR233;
2833 ret = tbm_surface_internal_get_num_planes(format);
2835 ASSERT_EQ(ret, expected_ret);
2838 TEST(tbm_surface_internal_get_num_planes, work_flow_success_2)
2841 int expected_ret = 1;
2842 tbm_format format = TBM_FORMAT_RGB332;
2846 ret = tbm_surface_internal_get_num_planes(format);
2848 ASSERT_EQ(ret, expected_ret);
2851 TEST(tbm_surface_internal_get_num_planes, work_flow_success_1)
2854 int expected_ret = 1;
2855 tbm_format format = TBM_FORMAT_C8;
2859 ret = tbm_surface_internal_get_num_planes(format);
2861 ASSERT_EQ(ret, expected_ret);
2864 /* tbm_surface_internal_query_supported_formats() */
2866 TEST(tbm_surface_internal_query_supported_formats, work_flow_success_3)
2869 int expecte_ret = 1;
2870 uint32_t *formats, num = 0;
2871 struct _tbm_bufmgr bufmgr;
2872 struct _tbm_bufmgr_backend backend;
2876 g_surface_bufmgr = &bufmgr;
2877 bufmgr.backend = &backend;
2878 ut_ret_bufmgr.backend = &backend;
2879 backend.surface_supported_format = ut_surface_supported_format;
2881 ret = tbm_surface_internal_query_supported_formats(&formats, &num);
2883 ASSERT_EQ(ret, expecte_ret);
2886 TEST(tbm_surface_internal_query_supported_formats, work_flow_success_2)
2889 int expecte_ret = 0;
2890 uint32_t *formats, num = 0;
2891 struct _tbm_bufmgr bufmgr;
2892 struct _tbm_bufmgr_backend backend;
2896 g_surface_bufmgr = &bufmgr;
2897 bufmgr.backend = &backend;
2898 ut_ret_bufmgr.backend = &backend;
2899 backend.surface_supported_format = ut_surface_supported_format;
2900 UT_TBM_SURFACE_INTERNAL_ERROR = 1;
2902 ret = tbm_surface_internal_query_supported_formats(&formats, &num);
2904 ASSERT_EQ(ret, expecte_ret);
2907 TEST(tbm_surface_internal_query_supported_formats, work_flow_success_1)
2910 int expecte_ret = 0;
2911 uint32_t *formats, num = 0;
2912 struct _tbm_bufmgr bufmgr;
2913 struct _tbm_bufmgr_backend backend;
2917 g_surface_bufmgr = &bufmgr;
2918 bufmgr.backend = &backend;
2919 ut_ret_bufmgr.backend = &backend;
2920 backend.surface_supported_format = NULL;
2922 ret = tbm_surface_internal_query_supported_formats(&formats, &num);
2924 ASSERT_EQ(ret, expecte_ret);
2927 /* tbm_surface_internal_create_with_flags() */
2929 TEST(tbm_surface_internal_create_with_flags, error_calloc)
2931 tbm_surface_h surface_ret;
2937 surface_ret = tbm_surface_internal_create_with_flags(10, 10, 10, 10);
2939 ASSERT_TRUE(surface_ret == NULL);
2942 TEST(tbm_surface_internal_create_with_flags, success)
2944 tbm_surface_h surface_ret;
2947 int format = TBM_FORMAT_ARGB8888;
2949 struct _tbm_bufmgr mgr;
2950 struct _tbm_bufmgr_backend backend;
2954 g_surface_bufmgr = &mgr;
2955 mgr.backend = &backend;
2956 backend.surface_get_plane_data = ut_surface_get_plane_data;
2957 backend.surface_bo_alloc = ut_surface_bo_alloc;
2959 LIST_INITHEAD(&mgr.bo_list);
2960 LIST_INITHEAD(&mgr.surf_list);
2963 tbm_surface_internal_create_with_flags(width, height, format, flags);
2965 ASSERT_TRUE(surface_ret != NULL);
2966 ASSERT_FALSE(LIST_IS_EMPTY(&mgr.bo_list));
2967 ASSERT_FALSE(LIST_IS_EMPTY(&mgr.surf_list));